2017-05-05 107 views
2

您可以使用XUnit手动设置测试结果吗?在我的一个测试中,我必须满足先决条件,如果失败,我需要将测试结果设置为不确定。在NUnit中,您可以通过Assert.Inconclusive(),Assert.Fail()等设置结果。我能够用XUnit做类似的事情吗?有什么最佳做法如何做到这一点?如何设置XUnit测试的结果

回答

1

在xUnit中没有你想做的事情的开箱即用的方式。有关更多信息,请参见https://xunit.github.io/docs/comparisons.html

然而Assert.Fail(“该测试失败”)可使用Assert.True(假,“该测试失败”)被复制。

XUnit中Assert.Inconclusive的最接近的等价形式是使用Skip属性。但就我所知,无法通过方法调用这部分方法,就像使用NUnit的Assert.InConclusive一样。

有人在v1.9写了一个Assert.Skip方法:https://github.com/xunit/xunit/blob/v1/samples/AssertExamples/DynamicSkipExample.cs,但是它不再在v.2.2.0中编译。实际上,xUnit的作者似乎对不确定的测试(https://xunit.codeplex.com/workitem/9691)有所抵触。

0

我认为你可以使用Assume.That在你的弹药测试方法中,它不会在安装时工作,但你会在测试方法中使用它。

+0

我找不到使用'Assume.That'的方法,intellisense只提供'Assert'。我在NetCore 1.1上使用xunit 2.2.0。会有问题吗? – nEkis

相关问题