Testng 如果测试类是';与@DataProvider和@Factory在不同的包中

Testng 如果测试类是';与@DataProvider和@Factory在不同的包中,testng,testng-dataprovider,Testng,Testng Dataprovider,我在src/main/java中有一个类,它包含@Factory和@DataProvider注释 package com.qa.data public class DemoFactoryAndDataProvider{ @Factory(dataProvider="dataProvider") public Object[] setMyValue(String s){ return new Object[]{new testDem

我在src/main/java中有一个类,它包含@Factory和@DataProvider注释

package com.qa.data

public class DemoFactoryAndDataProvider{

    
    @Factory(dataProvider="dataProvider")
    public Object[] setMyValue(String s){
        return new Object[]{new testDemoFactoryAndDataProvider(s)};
    }
 
    @DataProvider(name="dataProvider")
    public Object[][] dp() {
        return new Object[][] {
          new Object[] { "Test Data1"}
        };
      }
    }
我在src/test/java中有一个测试类,它将测试上面的类

package com.qa.tests

public class testDemoFactoryAndDataProvider {
    
    private String str;
    
    public testDemoFactoryAndDataProvider(String st){
        this.str = st;
    }
  
     @Test
      public void testMethod() {
          System.out.println("This is test method: " + str);
      }
}
我的问题是,如果@DataProvider和@Factory注释都位于不同的源文件夹中,我如何确保它们正常工作

我拥有的代码
返回新对象[]{newtestdemofactoryanddataprovider}

错误并引发错误,因为未导入DemoFactoryAndDataProvider.java类,但我不应将包从“src/test/java”导入到“src/main/java”(反之亦然)

不同的示例和视频在同一个源文件夹中显示了这两个类,但在我的示例中,我希望@DataProvider和@Factory位于不同的源文件夹中,而不是@Test所在的文件夹中

我希望这是有道理的

谢谢