gpt4 book ai didi

java - Spring 框架: how to pass a classes methods to another class' second method?

转载 作者:行者123 更新时间:2023-12-02 06:49:38 25 4
gpt4 key购买 nike

我有这个类,其中有一个方法(随机化器)

public class WebDriverCustomMethods {

public int randomizer(int min, int max) {
int d = (max - min) + 1;
int c = min + (int) (Math.random() * ((d)));
return c;
}

我想在我的测试类中使用它,如下所示:

public class AppTest3 { 

public static DataProviderClass appdata;
public static WebDriverCustomMethods w;

public static void main (String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
appdata = (DataProviderClass) context.getBean("data");
w = (WebDriverCustomMethods) context.getBean("wdcm");
}

@Test(dataProvider="standardTestData", dataProviderClass=DataProviderClass.class)
public void oneUserTwoUser(WebDriver driver, WebDriverWait wait, ArrayList<ArrayList<String>> array) throws Exception {

int randomNumber = w.randomizer(1, 99999);

当我运行此代码并且当代码开始使用 w.randomizer(1,9999) 时,我收到以下错误:

java.lang.NullPointerException
at com.f1rstt.tests.AppTest3.oneUserTwoUser(AppTest3.java:34) //this is int randomNumber = w.randomizer(1, 99999);
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

这是我的 spring.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans SYSTEM "http://www.springframework.org/dtd/spring-beans-2.0.dtd" PUBLIC "-//SPRING//DTD BEAN 2.0//EN">
<beans>
<bean id="data" class="com.blah.tests.DataProviderClass"/>
<bean id="wdcm" class="com.blah.tests.WebDriverCustomMethods"/>
</beans>

最佳答案

TestNG 不关心你的 main 方法。因此,在执行测试时永远不会调用它,因此永远不会执行这些字段。

阅读introduction of the documentation TestNG 的,它解释了 @BeforeXxx 注释。

也就是说,我不知道你为什么在这些测试中使用 Spring,而不是自己创建 2 个类的新实例。

关于java - Spring 框架: how to pass a classes methods to another class' second method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18210263/

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