gpt4 book ai didi

c# - Pex 不接受测试方法作为种子

转载 作者:行者123 更新时间:2023-11-28 20:30:50 26 4
gpt4 key购买 nike

我正尝试在我的项目中使用 Pex 进行探索性测试。但是,我无法让它作为测试种子与我现有的测试一起运行。

我已成功使用 [PexArguments] 提供输入测试数据。为了进行验证,我现在已经按照教程进行操作并实现了 Capitalize 函数。当我现在运行 Pex 时,将执行 as 注释中定义的测试用例。但是,方法中定义的测试不会执行。我按照说明 here .

以防万一:我使用的是 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(...) 中获取值并使用它来播种其探索。但是,它不会执行该 TestMethod 本身。当您从 Visual Studio 中运行 Pex 时,您应该会看到在“值”列下报告的“foo2”作为输入之一。在返回语句之前在 PexMethod 中添加一个断言,如下所示: PexAssert.AreEqual("Foo", 结果);你应该看到失败的测试用例。

关于c# - Pex 不接受测试方法作为种子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27386526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com