问题标签 [nunit-2.5]
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.
c# - 指定自动增量时,SQLite 允许主节点
我正在使用 SQLite 来测试我的 DAO 项目。原因是它提供了一种快速的方法来告诉我模型是否可以执行 CRUD 操作。
所以有一个 NUNIT 项目可以测试每个 DAO 并指出失败。
但是,我遇到了一个问题,其中将主标记为已分配并且表已打开自动增量的类,插入不会像在 SQL Server 中那样失败。
这是我用来在内存中创建 SQLite 表的语法。
如何使插入失败,表明建模存在问题?
c# - NUnit 集合约束异常
我在 .NET 3.5 C# 应用程序中使用 NUnit 2.5.6.10205。我正在使用 NUnit 的Collection Constraint来断言 IEnumerable 是否按参数排序。
它似乎对我不起作用,因为我收到一个异常,表明我的实际值不是 IEnumreable。allEntities 是一个List<T>
实现IEnumerable<T>
. 我相信 NUnit 正在寻找一个IEnumerable
,而不是一个IEnumerable<T>
,而是IEnumerable<T>
实现IEnumerable
。这是 co / contra 方差的问题吗?
.
另外,有什么方法可以使用 Lambda 表达排序属性吗?对属性使用文字字符串会使它变得脆弱。
c# - Nunit 测试问题
好的,我有一个 Nunit 测试类设置,它通过一个方法运行,让它全部使用 CalcBalance()。在 CalcBalance() 中,我们有另一个方法可以将数据保存到数据库中。我不想在测试这个特定方法时处理数据库,但是当我运行我的测试时,数据库方法会抛出异常并导致测试失败,因为数据库没有设置/模拟。例子:
我的问题是,有什么方法可以设置它,以便 Nunit 测试器将继续测试,即使数据库交互说它失败了。我注释掉了 DatabaseInteraction() 并运行了测试,结果很好。
unit-testing - 单元测试的委托方法
我在想,在为应用程序编写一些单元测试以将直观的方法构建到我的类中时,这些方法会根据调用该方法的“类”而有所不同。
所以,我在一个 NUnit 类中,需要测试是否FormsAuthenticationTicket
为经过身份验证的用户成功创建了 a:
我面临的问题是 HttpContext 在单元测试中无效。找到了几个解决方案,但就像 Phil Haack 对他的 HttpSimulator 所做的那样。这不能直接在我的单元测试代码中工作,因为我正在模拟 EF 类(我知道不推荐),并且模拟器会影响连接字符串。
宁愿将数据调用移出单元测试是一个更好的选择,但我正在学习过程中的匿名方法,并想做类似的事情:
在 3.5 中有一个不错的选择来做这样的事情吗?
c# - WatiN - 失败:System.UriFormatException:无效的 URI:无法解析主机名
好的,所以我一直在尝试单元测试。我正在使用 Nunit 和 WatiN 进行测试,并决定尝试实现 WatiN 测试记录器。我不知道是否有人熟悉它,但我使用的是 2.0 构建(测试版) 我从测试记录器中直接提取了以下代码,并且只是稍微清理了一下。
每当我运行它时,窗口都会打开 goolge 然后 Nununit 返回此错误:
有谁知道如何摆脱这个错误或绕过它的方法?
testing - 如何使用批处理文件以管理员身份启动命令提示符
我有一个使用 NUnit 的自动化框架。我以前在 Windows XP 上工作,并制作了一个批处理文件来使用该批处理文件执行完整的自动化测试。但是现在我使用的是 Windows 7,当我尝试运行相同的批处理文件时,Nunit 没有启动。但是当我尝试以管理员身份手动启动命令提示符时,我的执行工作正常。
有谁知道如何通过批处理文件以管理员身份启动命令提示符
c# - 为什么我的测试一起运行时失败,但单独通过?
当我在 Visual Studio 中编写测试时,我通过保存、构建然后在 Nunit 中运行测试来检查它是否有效(右键单击测试然后运行)。
测试有效...所以我继续...
现在我已经编写了另一个测试,它可以像上面一样保存和测试它。但是,当它们一起运行时,它们不起作用。
这是我的两个测试,它们在单独运行时有效,但在一起运行时失败:
当第二个测试因为它们一起运行而失败时
Nunit 介绍了这一点:
Sse.Bec.Web.Tests.Fixtures.ManageSitesAndUsers.ChangeOfPremises.AdminNavigateToChangeOfPremises.AdminNavigateToPageChangeOfPremisesViaMenu:OpenQA.Selenium.NoSuchElementException:找不到元素
此行突出显示:
有谁知道为什么我的代码一起运行时失败,但单独运行时通过?
任何答案将不胜感激!
.net - 在 NUnit 中捕获断言
我想在测试失败时记录一些上下文信息(例如捕获屏幕截图)。NUnit 框架中是否有任何可扩展点我可以做到?理想情况下应该是:
但我们没有。我试图创建一个加载项,但不知道如何在运行时注册它:
}
UITestCase
是我所有 UI 测试的基类。Install()
方法只是没有被调用。任何提示将不胜感激。
更新:要注册的加载项测试必须使用 NUnit 运行程序运行(在我的情况下,它是VS 的TestDriven.Net插件)并且EventListener
成员被正确调用。问题是它们都在 TearDown/TestFixtureTearDown 方法之后调用(我的上下文丢失了)。
试图TestContext.CurrentContext.Result
在我的 TearDown 中使用,但访问其中一个State
或Status
属性抛出NullReferenceException
:(
teamcity - 配置 TeamCity 和 dotCover 时遇到问题
我正在尝试使用内置的 NUNIT 和捆绑的 dotCover 配置 TeamCity 6.5。由于我不明白 dotCover Merge 命令失败的原因,以及所有带有一些非零退出代码的后续命令。
在 64 位机器上使用 Nunit 2.5.10、x64,nunit 使用 .NET4.0 运行时。我选择 dotCover 作为覆盖工具,留空以使用内置的 dotCover,我的过滤器如下所示:
这是构建日志:
c# - 使用 NUnit 尽早初始化 log4Net
我想知道在 NUnit 项目中初始化 log4Net 的最佳方法是什么。当然,我想尽快调用初始化代码(即 . XmlConfigurator.Configure()
),以获得尽可能多的早期日志输出。但是由于我的项目是通过 NUnit 运行的,所以我几乎无法控制它的入口点。
根据 NUnit 文档,它应该首先调用一些构造函数,然后调用一个用 标记[SetUp]
的类中的属性标记的方法[TestFixtureSetup]
。
所以,首先,我创建了一个静态帮助类,我可以毫无问题地多次调用它。
然后,我将我所有的[TestFixtureSetup]
继承都变成了一个,除了调用之外几乎什么都不做LoggingFacility.initLogger()
。但这仍然留下了之前运行的所有构造函数,我只能假设随机的顺序。而且,它可能会在我能够执行一些代码之前进行一些静态初始化。
事实上,正如我在日志中看到的那样,执行的前 4 秒左右完全没有记录。
这是否意味着我必须InitLogger()
在每个构造函数中调用 my 并禁止使用任何静态初始化程序?这是一项艰巨的工作!
有人知道这个魔术吗?