zoukankan      html  css  js  c++  java
  • java junit @Test 变量共享问题 --springboot 中的Controller静态变量可以共享

    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 配置文件了。呵呵

  • 相关阅读:
    Kotlin入门(20)几种常见的对话框
    Kotlin入门(19)Android的基础布局
    Kotlin入门(18)利用单例对象获取时间
    Kotlin入门(17)等式判断的情况
    Kotlin入门(16)容器的遍历方式
    Kotlin入门(15)独门秘笈之特殊类
    Android Studio Gradle被墙bug总结
    unity常用的坐标系转换
    欧拉角与万向节死锁
    Unity导出Gradle工程给Android Studio使用
  • 原文地址:https://www.cnblogs.com/rogge7/p/15120888.html
Copyright © 2011-2022 走看看