c# – 在不使用InlineAutoData的情况下使用InlineAutoData时的额外测试运行
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 在不使用InlineAutoData的情况下使用InlineAutoData时的额外测试运行,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1110字,纯文字阅读大概需要2分钟。
内容图文
![c# – 在不使用InlineAutoData的情况下使用InlineAutoData时的额外测试运行](/upload/InfoBanner/zyjiaocheng/795/c21bfb1c65954bbc95ffeed425e99695.jpg)
我遇到的挑战是,在使用InlineAutoData时,测试也会随机运行.背景是我正在使用一些遵循规范所需的输入来测试转换.我对随机数据不感兴趣.
以下测试运行两次.一次使用InlineAutoData,另一次使用随机字符串.在随机数据运行中故意使测试变得简单并失败:
[Theory, GeneralTransferTestConventions]
[InlineAutoData("Allowed", "Allowed")]
public void Testing(string test1Data, string test2Data)
{
Assert.Equal(test1Data, test2Data);
}
我的问题是,是否有办法避免随机数据的测试运行以及如何做到这一点?
解决方法:
删除AutoFixture内容集成:
[Theory]
[InlineData("Allowed", "Allowed")]
public void Testing(string test1Data, string test2Data)
{
Assert.Equal(test1Data, test2Data);
}
这是一个纯xUnit.net测试,完全是确定性的.
但是,请注意,如果只有一组测试用例,则没有理由进行参数化测试,因此要么添加更多的InlineData测试用例:
[Theory]
[InlineData("Allowed", "Allowed")]
[InlineData("foo", "foo")]
[InlineData("bar", "bar")]
public void Testing(string test1Data, string test2Data)
{
Assert.Equal(test1Data, test2Data);
}
或使其成为“正常”测试:
[Fact]
public void Testing()
{
var test1Data = "Allowed";
var test2Data = "Allowed";
Assert.Equal(test1Data, test2Data);
}
内容总结
以上是互联网集市为您收集整理的c# – 在不使用InlineAutoData的情况下使用InlineAutoData时的额外测试运行全部内容,希望文章能够帮你解决c# – 在不使用InlineAutoData的情况下使用InlineAutoData时的额外测试运行所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。