我试图运行一些测试以使用XUnit检查我的postfix按位算法。看起来像[InlineData]的[Theory]可以完美地用于此,但它似乎并没有像我希望的那样工作。
[Theory]
// a && b
[InlineData(new object[] { false, false, BitwiseOperator.And }, false)]
[InlineData(new object[] { true, false, BitwiseOperator.And }, false)]
[InlineData(new object[] { false, true, BitwiseOperator.And }, false)]
[InlineData(new object[] { true, true, BitwiseOperator.And }, true)]
public void Test(IEnumerable<object> tokenPrimitives, bool expectedResult)
{
//Run test
}
当NCrunch测试运行器(或使用Visual Studio测试运行器吗?)扫描测试时,它只从四个[InlineData]中选出两个测试。它似乎总是与expectedResult = false的一个和expectedResult = true的一个。乍看之下,似乎扫描仪正在处理所有测试,其中expectedResult = false是相等的,因此忽略了其他两个。
所以我的问题是:我可以使用[InlineData],如果是这样,怎么样?否则我对想法持开放态度。我一直试图尝试[会员数据],但我有类似的挫折感。它似乎运行我的所有测试,但控制台只显示一个测试而不是4,这使得很难确定哪个测试失败。我在另一个Stackoverflow问题中找到了解决方案,但我还没有让它适用于这种情况。