gpt4 book ai didi

Java:无法在测试用例上实现 runnable:void run() 碰撞

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:43:33 27 4
gpt4 key购买 nike

所以我有一个测试用例,我想将其制作成一个线程。我不能扩展 Thread,也不能实现 runnable,因为 TestCase 已经有一个方法 void run()。我得到的编译错误是 Error(62,17): 类 com.util.SeleneseTestCase 中的方法 run() 无法覆盖类 junit.framework.TestCase 中具有不同返回类型的方法 run(),是类 junit。 framework.TestResult.

我正在尝试做的是扩展 Selenium 测试用例以执行压力测试。我现在无法使用 selenium grid/pushtotest.com/amazon cloud(安装问题/安装时间/资源问题)。所以这对我来说更像是一个 Java 语言问题。

仅供引用:SeleniumTestCase 是我想要制作多线程以扩展它以进行压力测试的东西。 SelniumTestCase 扩展了 TestCase(来自 junit)。我正在扩展 SeleniumTestCase 并试图让它实现 Runnable。

最佳答案

创建一个实现 Runnable 的内部类,并从 com.util.SeleneseTestCase run() 方法中的新线程调用它。像这样:

class YourTestCase extends SeleneseTestCase {
public class MyRunnable implements Runnable {
public void run() {
// Do your have work here
}
}

public void testMethodToExecuteInThread() {
MyRunnable r = new MyRunnable();
Thread t = new Thread(r);
t.start();
}
}

更新以在 YourTestCase 类之外使用

要从另一个类运行内部类,您需要将其公开,然后从外部类执行此操作:

YourTestCase testCase = new YourTestCase();
YourTestCase.MyRunnable r = testCase.new MyRunnable();

但如果您不需要从测试用例内部调用它,您最好使用普通类,将 MyRunnable 设为公共(public)类,而不是在 YourTestCase 中。

希望对您有所帮助。

关于Java:无法在测试用例上实现 runnable:void run() 碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2851449/

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