假设我在一个测试类中有几个单元测试(在我的情况下是VSUnit中的[TestClass])。我尝试在每个测试中只测试一件事情(不仅仅是一个Assert)。想象一下,有一个测试(例如Test_MethodA())测试了其他测试中使用的方法。我不想在使用它的其他测试中放置对该方法的断言,以避免重复性/可维护性问题,因此我只在这个测试中放置了断言。现在,当这个测试失败时,所有依赖于正确执行该测试方法的测试也会失败。我希望能够更快地找到问题所在,因此我希望能够指向Test_MethodA。例如,如果我可以使测试类中的某些测试按特定顺序执行,并且当它们失败时,我会开始查找第一个失败测试的原因,那么这将会有所帮助。你有任何想法如何做到这一点吗?
编辑:通过建议按特定顺序执行测试来解决问题,我可能走得太远而且方向错误。我不关心测试的顺序。只是有些测试如果先决条件无效就会始终失败。例如,我有一个测试类,测试DAO类(好吧,可能不是一个UNIT测试,但存储过程中有需要测试的逻辑,但我认为这不是重点)。我需要向表中插入一些记录,以便测试负责检索记录的方法(让我们称之为GetAll())是否按正确顺序获取它们。例如,我使用DAO类上的一个方法来进行插入。让我们称之为Insert()。我已经编写了测试,验证Insert()方法按预期工作。现在我想测试GetAll()方法。为了使数据库处于所需状态,我使用Insert()方法。如果Insert()不起作用,则大多数GetAll()测试将失败。我希望将无法通过的测试标记为不确定而不是失败。如果我知道要首先查看哪个方法/测试,那么找到问题的原因会更容易。
编辑:通过建议按特定顺序执行测试来解决问题,我可能走得太远而且方向错误。我不关心测试的顺序。只是有些测试如果先决条件无效就会始终失败。例如,我有一个测试类,测试DAO类(好吧,可能不是一个UNIT测试,但存储过程中有需要测试的逻辑,但我认为这不是重点)。我需要向表中插入一些记录,以便测试负责检索记录的方法(让我们称之为GetAll())是否按正确顺序获取它们。例如,我使用DAO类上的一个方法来进行插入。让我们称之为Insert()。我已经编写了测试,验证Insert()方法按预期工作。现在我想测试GetAll()方法。为了使数据库处于所需状态,我使用Insert()方法。如果Insert()不起作用,则大多数GetAll()测试将失败。我希望将无法通过的测试标记为不确定而不是失败。如果我知道要首先查看哪个方法/测试,那么找到问题的原因会更容易。