junit多个测试方法共享变量_不负韶华,只争朝夕!-CSDN博客
https://blog.csdn.net/IndexMan/article/details/85004828
----上面是整个类测试下来 才能拿到test1的修改的值。。 单独运行每一个test,而能共享变量吗? 验证test 2 3 拿到的都是0.
比如给我改成下方的:
要求先单独运行test1,然后在分别单独启动 test2 test3.。对应的使用情景就是:一个测试案例不断更新一个值,希望给另外的测试案例持续使用。
package com.abc.clptest; import org.junit.Test; import java.util.concurrent.TimeUnit; public class ShareVariableTest { private static int id=0; @Test public void test1() throws InterruptedException { id=1; System.out.println("test1:"+id); while (true){ TimeUnit.SECONDS.sleep(2); id++; System.out.println("test1:"+id); } } @Test public void test2(){ System.out.println("test2:"+id); } @Test public void test3()throws InterruptedException{ System.out.println("test3:"+id); while (true){ TimeUnit.SECONDS.sleep(2); System.out.println("test3:"+id); } } }
test1中输出值一直累加,
test1:1 test1:2 test1:3 test1:4 test1:5
但 test2 test3 拿到的一直都是0
test3:0
test3:0
test3:0
==》 就算单独启动test 创建了多个实例,里面的静态变量不都是只有一份吗?
拓展: 而springboot 中的Controller 就可以共享变量
多个http请求可以共用其中的静态变量值
--------------
后面,改成了读取 Properties 配置文件了。呵呵