Tag: nunit

使用RhinoMocks进行unit testing和模拟

我正在尝试为我的新项目设置测试并遇到一些困难。 我正在使用NUnit和Rhino Mocks。 我试图测试的代码是这样的, public DocumentDto SaveDocument(DocumentDto documentDto) { Document document = null; using (_documentRepository.DbContext.BeginTransaction()) { try { if (documentDto.IsDirty) { if (documentDto.Id == 0) { document = CreateNewDocument(documentDto); } else if (documentDto.Id > 0) { document = ChangeExistingDocument(documentDto); } document = _documentRepository.SaveOrUpdate(document); _documentRepository.DbContext.CommitChanges(); } } catch { _documentRepository.DbContext.RollbackTransaction(); throw; } } return MapperFactory.GetDocumentDto(document); } […]

需要指导为.NET中的数据插入方案执行Nunit测试用例

我有以下Employee模型类和控制台客户端。 员工类: – public class Employee { public int EmployeeId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } public int phoneNumber { get; set; } public Employee() { } public Employee(string fname,string lname,int age,int phone) { this.FirstName = […]

NUnit在程序集中找不到测试

我使用MSTestinheritance了一个程序集,但是这些测试是在构建机器上使用nunit-console运行的(不确定它是如何工作的)。 因此我决定将其排序并将其更改为正确的NUnit测试,但现在nunit-console(或gui)找不到任何测试。 它们使用ReSharper测试运行器运行得很好。 知道可能遗漏的是什么吗?

unit testingScriptSharp项目中的c#代码

我正在使用ScriptSharp创建一个RIA应用程序。 除了一些古怪的东西之外还可 然而,使用Firebug查找和修复问题并不是很方便。 由于scriptsharp还提供了一个Dll,我希望使用一个单独的测试项目,使用Nunit来测试我的代码的某些部分。 出现的问题是生成的dll引用了mscorlib 0.7,导致与测试项目中的mscorlib 4冲突。 一个简单的解决方案是创建第二个纯C#项目并复制代码文件。 但维护2个具有相同代码库的项目…… 好奇,如果有另一种方法来做到这一点。 任何人? 编辑:Christian Dalager提出的解决方案。 小问题是ScriptSharp在mscorlib中重新定义了System.Diagnostics。 没有Debug.Assert / Writeline。 但现在几乎不再需要它了。

在具有基类的多个浏览器中运行Selenium测试

假设我有代码: namespace SeleniumTests { [TestFixture(typeof(FirefoxDriver))] [TestFixture(typeof(InternetExplorerDriver))] public class TestWithMultipleBrowsers where TWebDriver : IWebDriver, new() { private IWebDriver driver; [SetUp] public void CreateDriver () { this.driver = new TWebDriver(); } [Test] public void GoogleTest() { driver.Navigate().GoToUrl(“http://www.google.com/”); IWebElement query = driver.FindElement(By.Name(“q”)); query.SendKeys(“Bread” + Keys.Enter); Thread.Sleep(2000); Assert.AreEqual(“bread – Google Search”, driver.Title); driver.Quit(); } } } 我想阻止 [SetUp] public […]

Selenium 2.0 WebDriver Advcanced Interactions DoubleClick帮助(c#)

所以在我的selenium回归测试中,我一直试图双击日历来制作新的appt。 我试图使用doubleClick(); advanceduserinteractions库中的方法,但存在问题; 两次点击不够快/足够接近以实现双击! 有人在他们的测试中找到了解决这个问题的方法吗?

对多个驱动程序运行WebDriver NUnit测试

我们最近开始使用WebDriver(支持Selenium 1)使用NUnit框架执行浏览器测试。 由于我们希望在各种浏览器中运行测试,因此我们为每个浏览器定义驱动程序,并在夹具设置期间将它们放入列表中: [TestFixtureSetUp] public void SetupTest() { // Load drivers Drivers = new List { new ChromeDriver(), … }; 在每个单独的测试中,我们遍历列表,如下所示: [Test] public void SomeTest() { foreach (var driver in Drivers) { driver.Navigate().GoToUrl(“…”); … 在所有测试方法中都这样做是错误的。 测试方法不应该关注他们应该使用什么驱动程序。 理想情况下,我们会有这样的事情: public void SomeTest(IWebDriver driver) { driver.Navigate().GoToUrl(“…”); … 我们可以解决这个问题的一种方法是使用TestCases: [TestCase(new ChromeDriver())] [TestCase(new FireFoxDriver())] … 但这有很多重复,并将驱动程序正确初始化的问题转移到每个测试的属性中。 不是真正的收获。 是否有任何方法可以告诉NUnit框架执行整套测试并在每次运行中为各个测试注入不同的参数? 或者还有其他任何好的解决方案吗?

NUnit TestCaseSource

我正在使用TestCaseSource属性。 一个问题:当sourceName字符串无效时,测试只会被忽略而不是失败。 如果重命名源方法,sourceName字符串没有更新,那么这将非常糟糕,然后您将失去测试提供的覆盖范围。 有没有办法改变NUnit的行为,如果sourceName无效,测试失败?

C# – 在unit testing中断言两个对象是相同的

使用Nunit或Microsoft.VisualStudio.TestTools.UnitTesting。 现在我的断言失败了。 [TestMethod] public void GivenEmptyBoardExpectEmptyBoard() { var test = new Board(); var input = new Board() { Rows = new List() { new Row(){Cells = new List(){0,0,0,0}}, new Row(){Cells = new List(){0,0,0,0}}, new Row(){Cells = new List(){0,0,0,0}}, new Row(){Cells = new List(){0,0,0,0}}, } }; var expected = new Board() { Rows = new List() […]

我可以在NUnit运行测试之前和之后执行代码吗?

我在NUnit中有一堆测试,它们在文件系统上创建了垃圾数据(糟糕,我知道,但我对此无法控制)。 目前我们有一个清除工具,可以删除这些临时工具等,但我希望能够自动运行该清理工具。 所有测试运行完毕后,我必须能够运行它。 我有类似的检查,我想在开始时做,以确保以前的运行中没有任何这些临时工具可能会改变测试的结果。 这样的事情很简单,还是我要为这样的事情实现一个全新的测试运行器?