草庐IT

c# - 是否可以参数化 nunit 测试

我想编写一个接受两个对象的可调用函数,并将这些对象的30多个属性与断言进行比较。问题是这需要为大约20个现有单元测试和大多数future测试完成,并且每次写出30多个断言既费时又费空间。我目前有一个非单元测试函数,它比较对象,并返回带有“通过”或失败消息的字符串,并使用断言在每个单元测试中验证它。然而,它非常困惑,我觉得我违背了正确的单元测试方法。有没有办法制作一个可从使用断言检查条件的单元测试内部调用的函数? 最佳答案 如果您使用的是NUnit2.5.5或更高版本,则可以使用TestCase属性。普通的单元测试会用[Test]装饰

c# - 基类中的 NUnit 和 [SetUp]

我正在查看一些使用NUnit的测试代码,它继承自包含[SetUp]属性的基类:publicclassBaseClass{[SetUp]publicvoidSetUp(){//dosomething}}[TestFixture]publicclassDerivedClass:BaseClass{[SetUp]publicvoidSetUp(){//dosomethingelse,withnocalltobase.SetUp()}//testsrundownhere.//[Test]//[Test]//etc}派生类当然需要在基类的SetUp()方法中完成的工作。我是不是遗漏了什么,或者当

c# - Nunit 异步测试异常断言

[编辑(2020年5月)]-据报道,此问题已在较新版本的NUnit中得到解决。请看Nunit.ThrowsAsync.(引用thisanswer,感谢@James-Ross)我有一个ControllerUserController可以执行此操作//GET/blahpublicTaskGet(stringdomainUserName){if(string.IsNullOrEmpty(domainUserName)){thrownewArgumentException("Nousernamespecified.");}returnTask.Factory.StartNew(()=>{var

c# - 在 NUnit 测试中使用 WPF 组件 - 如何使用 STA?

我需要在NUnit单元测试中使用一些WPF组件。我通过ReSharper运行测试,但在使用WPF对象时失败并出现以下错误:System.InvalidOperationException:ThecallingthreadmustbeSTA,becausemanyUIcomponentsrequirethis.我读过这个问题,听起来线程需要是STA,但我还没有想出如何做到这一点。触发问题的是以下代码:[Test]publicvoidMyTest(){vartextBox=newTextBox();textBox.Text="Sometext";// 最佳答案

c# - NUnit 与 xUnit

NUnit之间有什么区别?和xUnit.net?开发其中两个而不是一个有什么意义?我读到xUnit是由NUnit的发明者开发的:xUnit.netisaunittestingtoolforthe.NETFramework.WrittenbytheoriginalinventorofNUnit另一方面:NUnitisaunit-testingframeworkforall.Netlanguages..thecurrentproductionrelease,version2.6,istheseventhmajorreleaseofthisxUnitbasedunittestingtool那

c# - 由于 AppDomain 在项目之间交叉时,通过 Resharper 8 测试运行 NUnit 失败

我最近更新到Resharper8,当我尝试运行一套项目时。这些测试包含两套集成测试,它们都使用IISExpress来运行网站、发出Web请求并检查响应。单独运行它们是成功的,运行所有测试之前会成功。但是,更新后要运行的第二组测试将失败。调查显示AppDomain.CurrentDomain.BaseDirectory将作为第一个测试运行而不是更改。由于集成测试由两个项目组成,这导致第二个项目失败,因为它找不到任何所需的配置文件。我找不到任何选项来禁用Resharper8中的这种不同行为,这似乎是/domain:Singlenunit标志的行为。除了降级到Resharper7,有人知道解

c# - 如何将动态对象传递给 NUnit TestCase 函数?

我正在编写一个数据密集型应用程序。我有以下测试。它们可以工作,但它们非常多余。[Test]publicvoidDoSanityCheck_WithCountEqualsZeroAndHouseGrossIsGreater_InMerchantAggregateTotals_SetsWarning(){report.Merchants[5461324658456716].AggregateTotals.ItemCount=0;report.Merchants[5461324658456716].AggregateTotals._volume=0;report.Merchants[5461

c# - NUnit 预期异常

我有一组测试用例,其中一些预计会抛出异常。正因为如此,我已经为这些测试设置了属性以期待像这样的异常:[ExpectedException("System.NullReferenceException")]当我在本地运行测试时,一切都很好。但是,当我将我的测试移至运行TeamCity的CI服务器时,我所有具有预期异常的测试都失败了。这是一个已知错误。我知道还有Assert.Throws和Assert.ThrowsNUnit提供的方法。我的问题是如何使用这些而不是我当前使用的属性?我浏览了StackOverflow并尝试了一些方法,但似乎都不适合我。是否有一个简单的1行解决方案来使用它?

c# - xUnit 还是 NUnit?彼此有什么优点和缺点?

这个问题在这里已经有了答案:NUnitvs.MbUnitvs.MSTestvs.xUnit.net[closed](7个答案)关闭9年前。相互比较,每个框架的优缺点是什么?它们与ASP.NETMVC的配合情况如何?他们对模拟的支持程度如何?

c# - 如何使用 NUnit 测试与数据库相关的代码?

我想用NUnit编写命中数据库的单元测试。我想让数据库在每次测试中都处于一致的状态。我认为事务可以让我“撤消”每个测试,所以我四处搜索并找到了2004-05年关于该主题的几篇文章:http://weblogs.asp.net/rosherove/archive/2004/07/12/180189.aspxhttp://weblogs.asp.net/rosherove/archive/2004/10/05/238201.aspxhttp://davidhayden.com/blog/dave/archive/2004/07/12/365.aspxhttp://haacked.com/a