Pex不接受测试方法作为种子
本文关键字:种子 测试方法 不接受 Pex | 更新日期: 2023-09-27 18:33:53
我正在尝试在我的项目中使用Pex进行探索性测试。但是,我无法让它与我现有的测试一起运行作为测试种子。
我已经成功地使用 [PexArguments] 来提供输入测试数据。为了验证,我现在按照教程并实现了大写函数。当我现在运行 Pex 时,将执行中定义为注释的测试用例。但是,不会执行方法中定义的测试。我按照这里的说明进行操作。
以防万一:我正在使用VisualStudio 2010,Pex说它是0.94版本。
有人知道我做错了什么吗?
这是我的测试类:
[PexAllowedExceptionFromTypeUnderTest(typeof(InvalidOperationException))]
[PexAllowedExceptionFromTypeUnderTest(typeof(ArgumentException), AcceptExceptionSubtypes = true)]
public partial class Class1Test
{
/// <summary>Test stub for Capitalize(String)</summary>
[PexMethod]
[PexArguments("foo")]
public string Capitalize(string value)
{
string result = Class1.Capitalize(value);
return result;
// TODO: add assertions to method Class1Test.Capitalize(String)
}
[TestMethod]
public void CapitalizeSeed()
{
string result = this.Capitalize("foo2");
Assert.AreEqual("Foo", result);
}
}
Pex将从测试方法CapitalizeSeed(...)中获取值,并使用它来播种其探索。但是,它不会执行该测试方法本身。当您从Visual Studio中运行Pex时,您应该看到"foo2"作为输入之一在"值"列下报告。在 return 语句之前在 PexMethod 中 ddd 一个断言,如下所示: PexAssert.AreEqual("Foo", result);您应该会看到失败的测试用例。