gpt4 book ai didi

testing - 如果不满足测试先决条件,则抛出异常或 Assert.Fail

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

我有一些运行 Selenium 的 NUnit 测试。

某些测试有一些先决条件。这方面的一个例子是登录我们的网站。

我们为测试 A 使用标准测试用户,但如果该用户由于某种原因不存在,我们将得到一个没有任何用处的测试失败(Selenium 将只报告它无法在第 50 行找到该元素).所以我计划在我们尝试运行测试之前检查用户是否存在 - 在 TextFixtureSetUp 方法中。

我检查以确保用户存在,如果不存在,则抛出有用的错误消息。例如:

    [TestFixtureSetUp]
public void SetUp()
{
bool userExists = userManager.GetUserByEmailAddress("someuser@fish.com") != null;
if (!userExists)
{
throw new Exception("Test user someuser@fish.com doesn't exist.");
}
}

对比

    [TestFixtureSetUp]
public void SetUp()
{
bool userExists = userManager.GetUserByEmailAddress("someuser@fish.com") != null;
if (!userExists)
{
Assert.Fail("Test user someuser@fish.com doesn't exist.");
}
}

我的问题是这是个好主意吗?我应该抛出异常还是使用 Assert.Fail()?我是不是以错误的方式考虑了这个问题,或者它是否真的不重要

最佳答案

抛出异常的原因 - 您可以稍后捕获它并尝试使用其他用户。

断言失败的原因 - 当找不到用户时,意味着测试模型结束。

如果你采用异常方式 - 想想 GetUserByEmailAddress 如果找不到正确的用户将抛出它...

关于testing - 如果不满足测试先决条件,则抛出异常或 Assert.Fail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821633/

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