问题标签 [xunit.net]
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# - TestDriven.NET 和本机 C 库
我正在开发一个调用本机 Windows C dll 的 C# 应用程序。我们使用带有 xUnit 的 TestDriven.NET 进行测试。问题是,每当我们运行使用 C 库(我们没有编写)的单元测试,然后尝试构建时,就会出现关于另一个进程如何使用库的构建错误。要修复它,您必须杀死遗留下来的 TestDriven 系统托盘应用程序。我们正在调用库提供的一种方法来释放其内存,但它似乎没有帮助。有谁知道阻止这种情况的方法?
bdd - 使用 xUnit.NET 的 BDD、规范和“规范报告”?
我是软件开发和“规范”的 BDD 方法的新的但超级粉丝。我一直在使用xUnit.NET、Moq和xUnit.NET 的扩展,它允许我执行 BDD 样式的测试(我正在松散地使用测试,因为它并不是真正的测试,因为它指定了预期的行为) . 目前,我使用 ReSharper 运行我的所有测试,很高兴看到我的规格详细说明并且全面绿色。
然而,既然我定期使用 BDD 方法,我想要一个更好的报告解决方案,它可以以一种很好的格式呈现系统的所有规范,可以作为新开发人员的一种文档形式引用,在未来的重构等
有谁知道任何现有的工具,最好是免费的,可以与 xUnit.NET 集成以提供格式良好的报告?
c# - TransactionScope 回滚可以与 Selenium 或 Watin 一起使用吗?
我正在尝试对我的 ASP.NET 应用程序进行一些自动化 Web 测试。我希望使用 Xunit.net 扩展中的 AutoRollback 属性来撤消测试期间所做的任何数据库更改。AutoRollback 使用 TransactionScope 在测试之前启动事务并在之后回滚。
当我尝试在事务期间访问我的 Web 应用程序时,它总是超时。看起来这应该可行,有什么想法吗?这是我的测试:
.net - 用于测试私有方法的非代码生成转发 shim
一般来说,我设计类的方式是为了测试目的不需要访问私有数据。安InternalsVisibleTo
也可以帮忙。
但是,我目前正在处理一个代码库,该代码库有一些区域已经依赖于 [VSTS 中的私有访问器机制]( http://msdn.microsoft.com/en-us/library/ms184807(VS.80 ).aspx)(即,VSCodeGenAccessors
用于生成*_Accessor
具有转发的类,这些转发使用反射来调用类上的private
成员(以及可选internal
的成员)。
所以我有这样的代码:
(是的,充满了反模式——但请不要向信使开枪)
我对此有很多问题:
- 我希望能够澄清我需要哪些隐私
- 我不想调用对话框(是的,我是一个 CRaholic)
- 我不想在图片中涉及代码生成
所以我希望能够将上面的代码转换为:
我的测试程序集中只有以下界面,没有生成代码或自定义构建步骤:-
从那里,我可以使用 CodeRush 或 Ctrl KM 在界面上生成新的阴影方法,只需一个按键。
缺少的部分将有一个方法,该方法I Shadow.Create<I>( Object o)
将 1. 生成实现接口的动态代理 1. 验证o
要包装的对象是否具有接口指定的所有成员 1. bnous:管理表示字段的属性的转发(即, `_privateMethodWasCalled' 案例)正确
那么,有没有人知道一个实现这样的东西的库(或者觉得写它很无聊?)
一个明显的缺点是,您直到运行时才知道接口是否与 ClassUnderTest 不兼容,但这没关系,因为这仅用于测试。同样 AIUI,私有访问器机制也需要触发重新编译以不时同步内容。
或者有没有更好的方法我错过了?(请记住,我不想将 al privates 全面升级为内部或公共,也不想重写工作代码)
使用 xUnit.net、.NET 3.5;开放使用任何动态代理库或其他
asp.net-mvc - 如何在单元测试项目中生成 ASP.NET MVC URL?
如何在另一个项目(用于测试的类库)中生成与控制器、操作和参数(对于给定的 ASP.NET MVC 项目)对应的 URL?
到目前为止,我发现的只是HtmlHelper.GenerateRouteLink,但还没有找到如何传递正确的请求上下文和路由集合。
msbuild - 在 MSBuild 中捕获错误状态
作为使用 MSBuild 运行 xUnit.net 测试的一些构建自动化的一部分,我遇到了需要循环一批项目的情况。
在循环内部,我需要检测迭代是否失败,但无论如何我都想继续执行。然后在批处理位之后,我需要知道是否发生了一个或多个错误,以便将结果报告给 TeamBuild。
IOW,在伪代码中:
我希望这可以在没有自定义任务的情况下实现(或者像 Jonne 那样破解 xunit.net MSBuild 任务)。(但愿意使用 MSBuild Community 或 Sdc 任务)
和@BradWilson:我这不可能干净地完成,我会寻找Jonne 的改变a la NUnit 任务也使其成为xunit 任务
tfs - 用于组合 NUnit 或 MSTest XML 结果的 MSBuild 任务
我有一组 NUnit XML 结果文件(由 xUnit.NET 通过 Xunit.Runner.MSBuild.xunit msbuild 任务的 NUnitXml 参数生成,就像我如何让 Team Build 显示 xUnit.net 的测试结果和覆盖率中一样测试套件?和http://jonnekats.wordpress.com/2009/05/07/integrate-xunit-tests-into-your-daily-team-build/)
该脚本单独发布每个测试运行,这很慢,因为它每次都会拉入所有 TestResults 工件。因此,在提交[使用带有 /publish 参数的 mstest.exe 到 TFS] 之前,我想首先在客户端将它们组合成一个统一的集合。
xUnit.net 有一个 CombineXunitXml 任务,它在 xunit.tests.msbuild 中调用如下:-
有谁知道以类似方式合并 NUnit 结果文件的等效任务?(我猜这不会像 NUnit 任务在其 Assemblies 参数中采用多个程序集而 xUnit.net 具有单个 Assembly 参数那样普遍)。
.net - 有没有办法对异步方法进行单元测试?
我在 .NET 平台上使用 Xunit 和 NMock。我正在测试一个方法是异步的表示模型。该方法创建一个异步任务并执行它,因此该方法立即返回并且我需要检查的状态还没有准备好。
我可以在不修改 SUT 的情况下在完成时设置一个标志,但这意味着我将不得不在一个 while 循环中继续检查标志,例如,可能会超时。
我有哪些选择?
visual-studio-2008 - Visual Studio 输出窗口中的本地化 xUnit.net 输出
我在 Visual Studio 2008 解决方案(带有简单的后期构建事件)中使用 xUnit.net(1.5,但 1.1 似乎有同样的问题)。主机系统(Windows XP)是本地化的德文版本,vs2008 是英文版本。
VS 输出窗口显示本地化的德语输出,如下所示:
但是,(不足为奇)VS 无法从本地化输出中提取文件/行号。结果,当我双击输出行时,VS 不会跳转到相应的失败位置。
任何想法如何解决这个问题,所以我不必每次都手动导航?在此先感谢,约翰内斯
unit-testing - 在 xUnit.net 中,是否可以按顺序运行测试?
我知道您通常不应该依赖于单元测试的顺序,但是在 xunit 中是否可以让您的测试按特定顺序运行?