gpt4 book ai didi

java - 使用 FEST 的多个 JUnit 测试

转载 作者:行者123 更新时间:2023-12-04 06:36:16 24 4
gpt4 key购买 nike

我已经编写了几个 JUnit 测试方法来测试我的 Java Swing GUI(使用 FEST)。我的类(class)采用以下格式:

public class Tests
{

@BeforeClass
public static void beforeClass() throws Exception { ... }

@Before
public void before() throws Exception { ... }

@After
public void after() throws Exception { ... }

@AfterClass
public static void afterClass() throws Exception { ... }

@Test
public void testA() { ... }

@Test
public void testB() { ... }

@Test
public void testC() { ... }

}

当我在 Eclipse 中运行这个类时,它只运行 testA 测试,而不运行 testB 或 testC。如果我注释掉 testA,testB 就会运行 - 所以它似乎每次都只运行第一个测试。

Eclipse 中的 JUnit 在完成第一个测试后显示“Runs: 2/3”,但不再继续,或显示任何错误。

有什么我做错了吗?我正在使用 JUnit 4.8.1 和 FEST 1.2。

最佳答案

我怀疑你在testA有副作用这阻止了 testB 中的代码从运行。如果没有 testA 中的细节,很难说发生了什么。和 testB ,但我可以给你一些一般性的指导。

注释掉 testA,您就有了一个良好的开端.执行此操作时,同时执行 testBtestC跑?

尝试深入到 testA并慢慢注释掉下面的细节testA直到您测试同时运行 testAtestB .一旦你这样做了,你至少知道哪里问题是。

例如,如果您的代码如下所示:

public void testA() {
doX();
doY();
doZ();
// Assert stuff
...
}

注释掉 doX() 之后的所有内容看看会发生什么。如果可行,请取消注释 doY()看看会发生什么。如果它不起作用,则深入到 doX()并开始注释掉并重新运行您的测试。

这应该可以帮助您查明问题出在哪里的详细信息。如果您在弄清楚这一点时仍然感到困惑,请返回并围绕这些细节提出问题。

祝你找到你的错误!

关于java - 使用 FEST 的多个 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837128/

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