首页 > 解决方案 > 无法从 src/main/java 调用 src/test/java 中的代码?

问题描述

我正在使用 testNG 编写测试用例,所有测试用例代码都在 src/test/java 文件夹中,现在我想在部署应用程序后从 src/main/java 中的一个类在这个文件夹中运行测试用例,这可能吗?

src/main/java-> TestNGRun 下的文件

public class TestNGRun {
    public static void runTestNg() {
        TestListenerAdapter tla = new TestListenerAdapter();
        TestNG testNG = new TestNG();
        testNG.addListener(tla);
        List<String> suites = new ArrayList<String>();
        URL filePathUrl = TestNGRun.class.getClassLoader().getResource("/testng.xml");
        suites.add(filePathUrl.getPath());
        testNG.setTestSuites(suites);
        testNG.run();
    }
}

src/main/resources--> testng.xml 下的文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
    <listeners>
        <listener
            class-name="com.cypress.prodService.testNG.CustomisedReports"></listener>
    </listeners>
    <test name="ProductServiceImplTest">
        <classes>
            <class
                name="com.cypress.prodService.testNG.ProductServiceImplTest"></class>
        </classes>
    </test>
</suite>

src/test/java 下的文件 --> ProductServiceImplTest.java

@Test
public class ProductServiceImplTest {
    @Test
        public void addProduct() {`enter code here`
            String value="GoodMorning";
            assertEquals("Hello", value);
        }
}

标签: javatestngtestng-eclipse

解决方案


你试过把它们放在同一个包里吗?这通常是您设置 JUnit 测试的方式。这是一个 JUnit5 示例,但使用 JUnit Platform Launcher,通过选择包来发现测试工作:

https://github.com/doenn/sentences/tree/master/src https://github.com/doenn/sentences/blob/master/src/test/java/sentences/SentencesTest.java https://github. com/doenn/sentences/blob/master/src/main/java/sentences/SentenceTests.java

在 testNG 方面,yes 应该也可以在 src/test 中进行测试。在使用 testNG 的示例文件夹布局上查看此答案。


推荐阅读