簡體   English   中英

Junit Test不斷為另一個課程問題提供失敗和導入數據

[英]Junit Test keeps Failing and importing data for another class issue

嗨,我剛剛完成了為期3周的Java,Selenium和Junit速成班。 因此,即時通訊仍在設法把一切都包裹住。 我創建了一個測試類,以通過Junit在2個類之間進行一些簡單的測試。 但是我一直從Junit那里得到錯誤,並想向社區尋求幫助。 這是我上課的數據:

package pages;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;

public class bobprofile {


WebDriver driver;
    public bobprofile(WebDriver driver){
        this.driver=driver;
    }


    @FindBy(xpath="//*[@id='ja-container-fl']/div/div/div[1]/table[6]/tbody/tr[6]/td[4]")
    public WebElement runs;
    @FindBy(xpath="//*[@id='ja-container-fl']/div/div/div[1]/table[6]/tbody/tr[6]/td[5]")
    public  WebElement balls;
    @FindBy(xpath="//*[@id='ja-container-fl']/div/div/div[1]/table[7]/tbody/tr[6]/td[8]")
    public WebElement wickets;
    @FindBy(xpath="//*[@id='ja-container-fl']/div/div/div[1]/table[7]/tbody/tr[6]/td[4]")
    public  WebElement overs;


public void batting(){

    System.out.println("Did bob score more than 200 runs?");


    int myruns = Integer.parseInt(runs.getText()); 
    int myballs = Integer.parseInt(balls.getText());
    if(myruns<200){
        System.out.println("No he Didnt");


    } else {
        System.out.println("Yes he did");
    }
    System.out.println("He scored " +myruns+ " Runs of " + myballs +" Balls");

}


public void bowling(){
System.out.println("Did bob take any wickets this year?");


int mywickets = Integer.parseInt(wickets.getText());
int myovers = Integer.parseInt(overs.getText().substring(0, 2));
if(mywickets<=0){
    System.out.println("No he Didnt");


} else {
    System.out.println("Yes he did");
}
System.out.println("He got " +mywickets+ " wickets of " + myovers +" Overs");

    }
}
`

這是我的Junit測試課程:

    package pages;

import org.junit.Test;
import org.openqa.selenium.WebDriver;

public class TestingLogic {






    @Test
    public static void bobShouldHaveAtLeast150Balls(){
        bobprofile myprofile = new bobprofile();
        int MyBallCount = Integer.parseInt(myprofile.balls.getText());
        assert(MyBallCount > 150);
        /*if(MyBallCount>150){
            return "yes";
        } else return false; */
    }

    @Test
    public static void bobShouldHaveAtLeast4Overs(){
        int MyOverCount = Integer.parseInt(bobprofile.overs.getText());
        assert(MyOverCount > 4);
    }


}

錯誤是:

java.lang.Exception: Method bobShouldHaveAtLeast150Balls() should not be static
    at org.junit.runners.model.FrameworkMethod.validatePublicVoid(FrameworkMethod.java:93)
    at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:74)
    at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:155)
    at org.junit.runners.BlockJUnit4ClassRunner.validateTestMethods(BlockJUnit4ClassRunner.java:208)
    at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:188)
    at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
    at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
    at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)
    at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

java.lang.Exception: Method bobShouldHaveAtLeast4Overs() should not be static
    at org.junit.runners.model.FrameworkMethod.validatePublicVoid(FrameworkMethod.java:93)
    at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:74)
    at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:155)
    at org.junit.runners.BlockJUnit4ClassRunner.validateTestMethods(BlockJUnit4ClassRunner.java:208)
    at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:188)
    at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
    at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
    at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)
    at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

請注意,在JUnit 4文檔的“ 常見問題”部分中 ,有一個很好的基本示例,說明了JUnit測試的語法應為什么樣。

而且,的確,@ paul-hicks和@rafał-laskowski的評論是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM