问题标签 [nunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9305 浏览

.net - NUnit 测试项目的 log4net 配置部分

我正在使用名为 AssemblyTest.nunit 的项目运行 NUnit。该测试调用另一个使用 log4net 程序集的程序集。这是使用带有 .net 2.0 框架的 nunit 版本 2.4.3。

在 TestFixtureSetup 中,我正在调用 log4net.Config.XmlConfigurator.Configure( ) 并收到以下错误:

有没有办法在不将配置文件重命名为“AssemblyTest.config”的情况下解决这个问题?

0 投票
3 回答
4651 浏览

nunit - 当 Nant 构建文件执行 NUnit 时 CruiseControl.NET 查看 NUnit xml 测试结果

我有一个 Nant 构建文件,它在编译 dll 后执行 NUnit。我正在执行带有 CruiseControl 任务的 NAnt 构建文件。所以 NAnt 正在运行测试而不是 CruiseControl。

如何配置它以便可以使用 CruiseControl Web 仪表板查看 NUnit 输出?


这修复了它:

0 投票
5 回答
14865 浏览

c# - 将现有代码迁移到测试驱动开发

最近发现了这种开发方法,我发现它是一种相当不错的方法。所以,对于我的第一个项目,我有一个小的 DLL 代码(在 C#.NET 中,因为它的价值),我想为这个代码做一组测试,但我有点迷茫如何和从哪儿开始。

我正在使用 NUnit 和 VS 2008,任何关于从何种类开始、为什么编写测试以及一般如何将代码移动到基于测试的开发的任何提示都将不胜感激。

0 投票
8 回答
5462 浏览

c# - NUnit:在单个测试中运行多个断言

我被要求编写一个测试应用程序,需要在数据库中的多行上测试一个新的存储过程,本质上我想做这样的事情:

当我运行此测试时,如果 1 行与另一行不匹配,则整个测试失败;相反,我想计算断言通过了多少次,失败了多少次。有没有办法用 NUnit 做到这一点?

我意识到 NUnit 可能是矫枉过正,没有它这是一项简单的任务......我只是想学习它。;)

0 投票
13 回答
25964 浏览

.net - 使用 NUnit 对 app.config 文件进行单元测试

当你们对依赖于 app.config 文件中的值的应用程序进行单元测试时?您如何测试这些值是否被正确读取,以及您的程序如何对输入到配置文件中的错误值做出反应?

不得不修改 NUnit 应用程序的配置文件是荒谬的,但我无法从我想测试的 app.config 中读取值。

编辑:我想我应该澄清一下。我不担心 ConfigurationManager 无法读取值,但我关心的是测试我的程序如何对读取的值做出反应。

0 投票
4 回答
2820 浏览

unit-testing - 您如何在大型项目中构建 NUnit 测试?

我有兴趣看看我是否可以改进我们在包含 30 多个项目的 Visual Studio 解决方案中使用 NUnit 的方式。

首先,您是否会为解决方案中的每个程序集提供一个测试程序集,或者您是否会尝试减少测试程序集的数量?我开始创建许多测试程序集,但我认为这在构建时间方面花费了我们很多。

其次,您使用什么策略来管理那些长时间运行或需要特殊环境配置的测试?我想编写一个 MSBuild 脚本来自动运行我们的单元测试,但它需要跳过那些需要太长时间或无法在构建机器上运行的测试。

0 投票
5 回答
35841 浏览

nunit - 未找到 NUnit 程序集

我以前用过 NUnit,但没用过一段时间,也从来没有在这台机器上用过。我在 2.4.8 下解压缩了 2.4.8 版本Program Files,尝试加载测试时不断收到此错误。

无法加载文件或程序集 'nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77' 或其依赖项之一。该系统找不到指定的文件**

为了简化问题,我编译了最基本的可能测试文件。

我已将“C:\Program Files\NUnit-2.4.8-net-2.0\bin”添加到我的 PATH(并重新启动)。请注意,如果我将测试程序集复制到该文件夹​​中,那么

有效,但是

因上述错误而失败。

大概我可以通过将 NUnit.Framework DLL 文件复制到我的项目bin文件夹中来解决这个问题,但我不记得过去必须这样做。此外,我在 GUI 中遇到了同样的错误。GUI 不应该知道框架的位置(即在同一个文件夹中)吗?

我没有使用 Visual Studio。我使用以下行来编译测试项目。

我尝试了 .msi 和 .zip 文件,结果相同。

0 投票
6 回答
1944 浏览

sql-server-2000 - 我可以在 Nunit 中创建数据库死锁测试吗?

在这个 asp.net 中,我正在清理可能会发生死锁。我想确保代码正确处理它们,所以我正在尝试编写触发死锁的 NUnit 测试.....

DAO 按实体拆分。每个实体都有一组测试,它们被 Startup() 和 Teardown() 方法包围,这些方法创建一个事务范围,然后在测试完成后将其回滚。这对其他一切都很好,但对于死锁完全没用。

如何使用可以可靠复制的 TransactionScope 和 SQL2000(即涉及 MSDTC)设置和运行“死锁”测试?更多细节:我知道有一种情况,如果两个用户使用不同的、特定的数据值调用两个函数,那么可能会导致死锁。我怎样才能在 NUNIT 中模拟这个 - 并让死锁总是发生?

是的,我确实从“你为什么不首先阻止死锁发生”行动计划开始,但我无法控制可能发生死锁的代码 - 我只是调用函数,它们可以死锁.

0 投票
1 回答
971 浏览

c# - 如何为将在 Rhino Mocks 中的另一个线程上进行的调用设置期望

我有一个类,旨在启动一个后台线程,从中调用一个管理器。出于单元测试的目的,该经理将被嘲笑。相关的代码片段是:

问题是,经过验证后,我们抛出了两个异常 - 一个在测试线程上表明调用CacheSize是预期的但没有发生,另一个在后台线程(在 内CacheJanitor)表明调用CacheSize发生但不是预期的。

显然,期望与创建它们的线程有密切关系。有谁知道一种方法来指示 Rhino Mocks 期望在不同的线程上进行调用(在定义期望时甚至不存在)?

编辑:

忘了提到我们在不久的将来仍然使用 VS 2005 的限制。Rhino Mocks 版本是 3.4 - 我将尝试使用 3.5,但改进列表似乎并未表明该区域有任何修复。

目前我可能会为这一系列测试创建自己的模拟对象并在其中记录结果,但肯定会感谢任何允许我使用 Rhino Mocks 干净地实现这一目标的解决方案。

0 投票
3 回答
3081 浏览

c# - 使用 NUnit 的单元测试自定义成员资格提供程序引发空引用错误

尝试在测试中创建用户帐户。但是在运行时获取对象引用并没有设置为对象错误的实例。

这是我的 MemberShip 提供程序类,它位于类库 MyCompany.MyApp.Domain.dll 中:

这是我的单独测试类库 MyCompany.MyApp.Doman.Test.dll 的 App.Config,它引用了我上面的业务域库:

这是我抛出“对象引用未设置为对象的实例”的方法

它抛出 provider.CreateUser 行