คำถามติดแท็ก nunit

NUnit เป็นกรอบการทดสอบหน่วยโอเพ่นซอร์สสำหรับ. NET และ Silverlight ที่เขียนด้วยภาษา C # มันทำหน้าที่จุดประสงค์เดียวกับที่ JUnit หรือ TestNG ทำในโลก Java และเป็นหนึ่งในหลาย ๆ คนในตระกูล xUnit

19
ฉันจะเรียกใช้ NUnit ในโหมดดีบักจาก Visual Studio ได้อย่างไร
ฉันเพิ่งสร้างกรอบการทดสอบสำหรับ C # ที่ฉันได้ดำเนินการไป ฉันได้ตั้งค่า NUnit และโปรเจ็กต์ใหม่ภายในพื้นที่ทำงานของฉันเพื่อทดสอบส่วนประกอบ ทั้งหมดทำงานได้ดีถ้าฉันโหลดการทดสอบหน่วยจาก Nunit (v2.4) แต่ฉันมาถึงจุดที่จะมีประโยชน์มากในการทำงานในโหมดดีบักและตั้งค่าจุดพัก ฉันได้ลองทำตามคำแนะนำจากหลาย ๆ คำแนะนำซึ่งทั้งหมดแนะนำให้เปลี่ยนคุณสมบัติ 'Debug' ของโครงการทดสอบ: Start external program: C:\Program Files\NUnit 2.4.8\bin\nunit-console.exe Command line arguments: /assembly: <full-path-to-solution>\TestDSP\bin\Debug\TestDSP.dll ฉันใช้เวอร์ชันคอนโซลที่นั่น แต่ได้ลองเรียก GUI ด้วย ทั้งคู่ให้ข้อผิดพลาดเดียวกันกับฉันเมื่อฉันพยายามและเริ่มการดีบัก: Cannot start test project 'TestDSP' because the project does not contain any tests. เป็นเพราะปกติฉันโหลด \ DSP.nunit ลงใน Nunit …

10
ทดสอบหน่วย NUnit หรือ Visual studio?
ฉันใช้ Visual Studio (บางครั้งก็มีความคมชัดมากขึ้น) เพื่อทำการทดสอบหน่วยของฉัน ฉันได้ยินเกี่ยวกับ NUnit แต่ฉันไม่รู้หลายอย่างเกี่ยวกับมัน ... ฉันควรสนใจหรือไม่ สามารถนำเสนอสิ่งที่ดีกว่า Visual Studio ได้หรือไม่? ฉันควรใช้ NUnit และทำไม?

1
Moq: การตั้งค่าไม่ถูกต้องสำหรับสมาชิกที่ไม่สามารถเขียนทับได้: x => x.GetByTitle (“ asdf”)
ไม่แน่ใจว่าฉันจะแก้ไขปัญหานี้ได้อย่างไรโดยพยายามทดสอบหน่วยในเมธอด "GetByTitle" นี่คือคำจำกัดความของฉัน: public class ArticleDAO : GenericNHibernateDAO(IArticle, int>, IArticleDAO { public IArticle GetByTitle(string title) { IQuery query = Session.CreateQuery("...") return query.UniqueResult<IArticle>(); } } public interface IArticleDAO { IArticle GetByTitle(string title); } การทดสอบหน่วย: [Test] public void can_load_by_title() { _mockDaoFactory.Setup(x => x.GetArticleDao()) .Returns(_mockArticleDao.Object); _mockArticleDao.Setup(x => x.GetByTitle("some title")) .Returns(article1.Object); _articleManager.LoadArticle("some title"); Assert.IsNotNull(_articleManager.Article); …
111 c#  nhibernate  nunit  resharper  moq 

16
NUnit Test Run Order
โดยค่าเริ่มต้นการทดสอบแม่ชีจะรันตามตัวอักษร ไม่มีใครรู้วิธีกำหนดคำสั่งประหารชีวิต? มีแอตทริบิวต์สำหรับสิ่งนี้หรือไม่?
110 .net  attributes  tdd  nunit 

6
ทดสอบการกำหนดพารามิเตอร์ใน xUnit.net คล้ายกับ NUnit
มีวิธีการใดในกรอบงาน xUnit.net ที่คล้ายกับคุณสมบัติต่อไปนี้ของ NUnit หรือไม่? [Test, TestCaseSource("CurrencySamples")] public void Format_Currency(decimal value, string expected){} static object[][] CurrencySamples = new object[][] { new object[]{ 0m, "0,00"}, new object[]{ 0.0004m, "0,00"}, new object[]{ 5m, "5,00"}, new object[]{ 5.1m, "5,10"}, new object[]{ 5.12m, "5,12"}, new object[]{ 5.1234m, "5,12"}, new object[]{ 5.1250m, "5,13"}, // round …

5
MSTest มีคุณสมบัติเทียบเท่ากับ TestCase ของ NUnit หรือไม่
ฉันพบว่าTestCaseคุณสมบัติใน NUnit มีประโยชน์มากเป็นวิธีที่รวดเร็วในการระบุพารามิเตอร์การทดสอบโดยไม่ต้องใช้วิธีแยกต่างหากสำหรับการทดสอบแต่ละครั้ง MSTest มีอะไรที่คล้ายกันหรือไม่? [TestFixture] public class StringFormatUtilsTest { [TestCase("tttt", "")] [TestCase("", "")] [TestCase("t3a4b5", "345")] [TestCase("3&5*", "35")] [TestCase("123", "123")] public void StripNonNumeric(string before, string expected) { string actual = FormatUtils.StripNonNumeric(before); Assert.AreEqual(expected, actual); } }

19
ตรวจสอบว่าโค้ดทำงานเป็นส่วนหนึ่งของการทดสอบหน่วยหรือไม่
ฉันมีการทดสอบหน่วย (nUnit) หลายชั้นที่เรียกซ้อนกันวิธีการจะล้มเหลวหากทำงานผ่านการทดสอบหน่วย ตามหลักการแล้วคุณจะใช้บางอย่างเช่นการเยาะเย้ยเพื่อตั้งค่าวัตถุที่วิธีนี้ขึ้นอยู่กับ แต่นี่เป็นรหัสของบุคคลที่สามและฉันไม่สามารถทำได้โดยไม่ต้องทำงานมาก ฉันไม่ต้องการตั้งค่าวิธีการเฉพาะ nUnit - ที่นี่มีหลายระดับเกินไปและเป็นวิธีที่ไม่ดีในการทดสอบหน่วย แต่สิ่งที่ฉันต้องการจะทำคือเพิ่มสิ่งนี้ให้ลึกลงไปใน call stack #IF DEBUG // Unit tests only included in debug build if (IsRunningInUnitTest) { // Do some setup to avoid error } #endif มีแนวคิดเกี่ยวกับวิธีการเขียน IsRunningInUnitTest อย่างไร? ปล. ฉันรู้อยู่เต็มอกว่านี่ไม่ใช่การออกแบบที่ยอดเยี่ยม แต่ฉันคิดว่ามันดีกว่าทางเลือกอื่น
105 c#  reflection  nunit 

13
คุณทดสอบวิธีส่วนตัวกับ NUnit ได้อย่างไร?
ฉันสงสัยว่าจะใช้ NUnit อย่างไรให้ถูกต้อง ขั้นแรกฉันสร้างโครงการทดสอบแยกต่างหากที่ใช้โครงการหลักของฉันเป็นข้อมูลอ้างอิง แต่ในกรณีนั้นฉันไม่สามารถทดสอบวิธีส่วนตัวได้ ฉันเดาว่าฉันต้องใส่รหัสทดสอบลงในรหัสหลักของฉัน?! - นั่นดูเหมือนจะไม่ใช่วิธีที่ถูกต้อง (ฉันไม่ชอบแนวคิดในการจัดส่งรหัสที่มีการทดสอบ) คุณทดสอบวิธีส่วนตัวกับ NUnit ได้อย่างไร?

3
ไม่สามารถใช้ SynchronizationContext ปัจจุบันเป็น TaskScheduler
ผมใช้งานเพื่อให้ทำงานได้นานทำงานโทรเซิร์ฟเวอร์ใน ViewModel ของฉันและผลลัพธ์จะเรียงกลับในการใช้Dispatcher TaskScheduler.FromSyncronizationContext()ตัวอย่างเช่น: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = "Loading..."; Task task = Task.Factory.StartNew(() => { ... }) .ContinueWith(x => this.Message = "Completed" , context); สิ่งนี้ใช้ได้ดีเมื่อฉันเรียกใช้แอปพลิเคชัน แต่เมื่อฉันทำการNUnitทดสอบResharperฉันได้รับข้อความแสดงข้อผิดพลาดในการโทรFromCurrentSynchronizationContextเป็น: ไม่สามารถใช้ SynchronizationContext ปัจจุบันเป็น TaskScheduler ฉันเดาว่านี่เป็นเพราะการทดสอบทำงานบนเธรดของผู้ปฏิบัติงาน ฉันจะแน่ใจได้อย่างไรว่าการทดสอบรันบนเธรดหลัก ข้อเสนอแนะอื่น ๆ ยินดีต้อนรับ

10
NUnit ไม่ได้เรียกใช้โค้ด Visual Studio 2010
ฉันพยายามโหลด Visual Studio 2010 beta dll ลงใน NUnit GUI ฉันได้รับข้อผิดพลาดป๊อปอัป แอสเซมบลีนี้สร้างขึ้นโดยรันไทม์ที่ใหม่กว่ารันไทม์ที่โหลดในปัจจุบันและไม่สามารถโหลดได้ คุณอาจกำลังพยายามโหลดแอสเซมบลีบิลด์ด้วย CLR เวอร์ชันที่ใหม่กว่ากว่าเวอร์ชันที่ NUnit กำลังทำงานอยู่ ฉันจะบังคับให้ปฏิบัติการทำงานภายใต้. NET 4 ได้อย่างไร

18
ข้อผิดพลาดซีลีเนียม - คำร้องขอ HTTP ไปยัง WebDriver ระยะไกลหมดเวลาหลังจาก 60 วินาที
ฉันใช้ซีลีเนียมมาหลายเดือนแล้วซึ่งเราใช้เพื่อทำให้กระบวนการทดสอบภายในบางอย่างเป็นไปโดยอัตโนมัติ สคริปต์ผ่านไปอย่างดี ฉันเพิ่งอัปเกรดเป็น C # 2.40.0 webdriver โดยใช้ FF 27.01 และตอนนี้สคริปต์ของเราล้มเหลวในที่สุ่มโดยมีข้อผิดพลาดต่อไปนี้ [Portal.SmokeTest.SmokeRunTest.Booking] TearDown method failed. OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/element timed out after 60 seconds. ----> System.Net.WebException : The operation has timed out TearDown : OpenQA.Selenium.WebDriverException : The HTTP request to the …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.