java - 可以在 TestNG 测试服中使用继承吗?

标签 java unit-testing testing testng

假设我有以下 TestNG 测试类:

public class OwnTestLauncher  {
    @Test(dataProvider = "valid-provider")
    public void validSintax(Collection<File> files) throws PlooException {
        runFilesThroughCompiler(files);
    }

    @Test(dataProvider = "invalid-provider")
    public void invalidSintax(Collection<File> files) throws PlooException {
        runFilesThroughCompiler(files);
    }

        protected String someAlgoritmUsedByRunFilesThroughCompiler(...) { ... }

        ...
}

然后我想创建一些略有不同的套装,这样我就可以在不同的场合运行它们中的每一个:

public class SomeOtherFlavour extends OwnTestLauncher {
    @Override
    protected String someAlgoritmUsedByRunFilesThroughCompiler(files) { ... }
}

我试过运行上面显示的代码,但没有成功。我也尝试用 @Test 注释 SomeOtherFlavour 但这似乎没有帮助。有没有可能做我想做的事?

最佳答案

恐怕你必须将 someAlgoritmUsedByRunFilesThroughCompiler 提取到一个单独的接口(interface)(或抽象类)中,并编写它的不同实现类。

public interface MyAlgorithm {
    String someAlgoritmUsedByRunFilesThroughCompiler(...);
}

然后,OwnTestLauncher 中的测试方法期望将此接口(interface)的实现作为附加参数,您仍然可以通过调整它们来使用您的数据提供程序。

关于java - 可以在 TestNG 测试服中使用继承吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5618299/

相关文章:

java - 减少一个映射,其中键是某些条目中的值

c# - File.Exists 在 UnitTest 上下文中返回 false

unit-testing - 如何只配置一次 vertx 实例本身并在应用程序代码和测试中使用它?

list - 柏树 headless (headless)测试中未呈现 w2ui 覆盖

testing - dependabot 是否进行测试以确保它不会破坏构建?

java - 从 JTable 添加/删除行后如何添加和减去总和值

java - 使用websocket的最大连接数

javascript - 如何对 TweenMax 进行单元测试?潜在的模拟?

user-interface - 最自然的 GUI 工具包

Java 输入扫描仪到多维数组