Java 如何仅在另一个方法成功后运行特定方法?
我已经能够运行这个非常好:Java 如何仅在另一个方法成功后运行特定方法?,java,webdriver,testng,Java,Webdriver,Testng,我已经能够运行这个非常好: public void daliytest() { me.login(); czz.createzoo(); czz.addanimals(); me.logout(); } 现在我想要这样的东西: public void daliytest() { me.login(); czz.createzoo(); if (czz.cr
public void daliytest() {
me.login();
czz.createzoo();
czz.addanimals();
me.logout();
}
现在我想要这样的东西:
public void daliytest() {
me.login();
czz.createzoo();
if (czz.createzoo.isSuccess){
czz.addanimals();
}
me.logout();
}
如果我问的是一个与java相关的非常基本的问题,请原谅我是初学者。
谢谢如果您使用的是普通代码,那么您可以检查第一个方法的返回值,并决定是否要调用第二个方法 或 如果您使用的是Junit,则可以根据输入的断言结果调用另一个方法。差不多
// in first method
if (assertTrue(condition)) {
//call second method
}
使czz.createzoo返回布尔值,如果成功则返回true,然后执行if:
public void daliytest() {
me.login();
boolean success = czz.createzoo();
if (success){
czz.addanimals();
}
me.logout();
}
在createzoo中返回布尔值以指示成功,或者在出现错误时引发异常 如果选择使用布尔值:
if(czz.createzoo()) {
czz.addanimals();
}
下面是一个成功返回布尔值的方法示例:
public boolean createzoo() {
if(name != null) {
this.zoo = new Zoo(name);
return true; // Success
} else {
return false; // Failure
}
}
如果您选择使用异常:
try {
czz.createzoo();
czz.addanimals();
} catch(IllegalArgumentException e) {
e.printStackTrace();
}
由于createzoo可能引发异常,因此必须使用try/catch块来处理异常。如果createzoo引发异常,代码将跳转到catch块,addanimals将不会执行
下面是一个方法示例,该方法在出现问题时引发异常:
public void createzoo() {
if(name != null) {
this.zoo = new Zoo(name);
} else {
throw new IllegalArgumentException("No name has been set for the zoo");
}
}
在czz.createzoo中返回true或false;并在条件允许时使用它
if(czz.createzoo()){
//Success.
}
else{
//Failure
}
让您的createZoo方法返回true,否则返回false。然后你可以像下面这样写
public void daliytest() {
me.login();
if (czz.createzoo()){
czz.addanimals();
}
me.logout();
}
你的问题是?在你的Java教科书中寻找方法返回值。我想你想要的东西是一个惊喜。它成功了。。。!!。我对布尔运算很感兴趣,这也很有效。