有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我如何执行Taurus junit?

I made a taurus test spesifcation:

execution:

  - executor: junit

    iterations: 5  # loop over test suite for 5 times

    concurrency: 20   # number of virtual users

    ramp-up: 1m       # time of load growing

    steps: 5          # number of steps of growing

    scenario:

      script: src/test



modules:

  junit:

    junit-version: 5

    working-dir: src/main/java

My Unit Test are:

package org.steinko.springtutorial;



import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertTrue;

import org.steinko.springtutorial.Main;



public class MainTest {



    @Test

    void shouldReturnANumber(){

        Main main = new Main();

        String[] arg = new String[1];

        Main.main(arg);

        int  number = main.getNumber();

        assertTrue(0 < number);

        assertTrue(number < 100);





    }



}

My source code place is:

package org.steinko.springtutorial;



import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.context.ConfigurableApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;



import org.steinko.springtutorial.NumberGenerator;



public class Main {



    private static final Logger log = LoggerFactory.getLogger(Main.class);

    private static int number;

    private static final String CONFIG_LOCATION = "beans.xml";



    public static void main(String[] args )

    {



        log.info("Guess the number game");

        ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(CONFIG_LOCATION);

        NumberGenerator numberGenerator = context.getBean("numberGenerator", NumberGenerator.class);

        number = numberGenerator.next();

        log.info("number = {}", number);

        context.close();

    }



    public  int getNumber() {

        log.info("getNumber",number);

        return number;

    }



}

When I run bzt ./performanctests/unittests.yaml I get a error:

[2019-03-17 15:34:25,556 ERROR root] Child Process Error: Javac exited with code: 1

/Users/stein/Development/guess-the-number-game/core/src/test/java/org/steinko/springtutorial/MainTest.java:7: error: cannot find symbol

import org.steinko.springtutorial.Main;

                             ^

symbol: class Main

location: package org.steinko.springtutorial

/Users/stein/Development/guess-the-number-game/core/src/test/java/org/steinko/springtutorial/MainTest.java:15: error: cannot find symbol

    Main main = new Main();

    ^

symbol: class Main

location: class MainTest

/Users/stein/Development/guess-the-number-game/core/src/test/java/org/steinko/springtutorial/MainTest.java:15: error: cannot find symbol

    Main main = new Main();

                    ^

symbol: class Main

location: class MainTest

/Users/stein/Development/guess-the-number-game/core/src/test/java/org/steinko/springtutorial/MainTest.java:17: error: cannot find symbol

    Main.main(arg);

    ^

symbol: variable Main

location: class MainTest

4 errors

How do I fix this error?


共 (1) 个答案

  1. # 1 楼答案

    这似乎是在试图在java类中使用外部依赖项。Taurus在尝试编译之前并不完全构建模块。因此,您的项目在类路径中的任何依赖项都不会被识别。解决方法是将依赖项上传为。jar文件和。BZ测试中的java文件。基本上,您在测试脚本中导入的任何类/接口都应该作为jar提供。因此,您的配置文件如下所示:

    
      - executor: junit
    
        iterations: 5  # loop over test suite for 5 times
    
        concurrency: 20   # number of virtual users
    
        ramp-up: 1m       # time of load growing
    
        steps: 5          # number of steps of growing
    
        scenario:
    
          script: src/test
    
          additional-classpath: # just an example - you can include your own .jar files
           - rest-assured-2.9.0.jar
           - log4j-1.2.17.jar
           - groovy-2.4.4.jar
           - rest-assured-common-2.9.0.jar
           - json-path-2.9.0.jar
    
    modules:
    
      junit:
    
        junit-version: 5
    
        working-dir: src/main/java
    

    更多详情请访问https://gettaurus.org/docs/JUnit/