gpt4 book ai didi

c# - 如何使用 MSTest 在 C# 中强制使测试失败

转载 作者:行者123 更新时间:2023-12-03 10:23:55 25 4
gpt4 key购买 nike

我正在尝试将我的一些 WebDriver 测试从 JAVA 移植到 C#。我坚持的是驱动程序在页面上找不到某些元素的情况,在 JAVA 中我这样做:

if (second >= 10) fail("timeout - " + list);

因此,如果某件事花费的时间超过 10 秒,则测试失败并显示超时消息。我在 C# 中尝试了类似的方法

if (sec >= 10) Debug.Fail("timeout : " + vList);

但这实际上并没有使测试失败,而是让我可以选择使用异常消息框来进行测试。那是一个不,不,我需要我的自动测试自己完全失败。然后我试了一下

if (sec >= 10) Assert.Fail("timeout : " + vList);

但这会抛出一个未处理的异常错误。我应该将 Assert.Fail 包含在 try/catch block 中吗?还是我应该使用完全不同的东西来使测试失败?

如主题中所述,我正在使用 MSTest。

编辑:确切的信息是:

AssertFailedException was unhandled by user code. Assert.Fail failed. timeout : someField.

Assert.Fail("timeout : " + vList);

最佳答案

我认为您会看到这种行为,因为您已将调试器附加到正在运行的测试 - Assert.Fail 抛出 AssertFailedException,您的调试器会看到异常并且休息 - 你得不到测试结果。

在“调试”菜单上,进入“异常”,找到 AssertFailedException(如果不存在则为其创建一个条目)并确保针对该异常类型关闭抛出中断。

或者,在不附加调试器的情况下运行测试。

关于c# - 如何使用 MSTest 在 C# 中强制使测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034149/

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