这个问题是关于单元测试框架xUnit.net.
我需要在执行任何测试之前运行一些代码,并在完成所有测试之后运行一些代码.我认为应该有某种属性或标记接口来指示全局初始化和终止代码,但是找不到它们.
或者,如果我以编程方式调用xUnit,我也可以使用以下代码实现我想要的:
static void Main()
{
try
{
MyGlobalSetup();
RunAllTests(); // What goes into this method?
}
finally
{
MyGlobalTeardown();
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供一些关于如何以声明方式或以编程方式运行某些全局设置/拆卸代码的提示吗?
但是,我发现虽然可以运行400个这些测试(按顺序),但某些测试要么挂起xUnit运行器,要么完全降低它.
我不关心某些测试是否无法在Linux上运行,某些测试与DTC和一些我们不需要支持的非托管gumph有关.
然而,我真正想要的是对这些测试应用忽略,并且在构建输出中正确地标记了测试被忽略的事实.
这个问题可以归结为我想一些可能的解决方案
如果我可以避免修改原始代码太多太大,因为代码不是我的改变,并且应用大量的跨平台黑客可能不会太顺利.
我在C#中编写了xUnit测试用例.该测试类包含很多方法.我需要按顺序运行整个测试用例.如何在xUnit中设置测试用例序列?
什么是以下MSTest代码的xUnit等价物:
Assert.Inconclusive("Reason");
Run Code Online (Sandbox Code Playgroud)
这给出了黄色测试结果,而不是通常的绿色或红色.我想断言由于某些条件而无法运行测试,并且在满足这些条件后应该重新运行测试.
c# ×3
.net ×2
xunit ×2
xunit.net ×2
assert ×1
assertion ×1
linq-to-sql ×1
linqpad ×1
mstest ×1
unit-testing ×1