- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用@PostConstruct
在运行测试之前进行一些初始设置,但似乎@PostConstruct
方法在每个测试上运行,而不是仅在测试类初始化后一次。我还看到在 @PostConstruct
之前的每个测试之前都会调用构造函数。为什么测试类在每个 @Test 方法上都被初始化,而不是只初始化一次?
我正在使用spring-boot-starter-test:1.5.7.RELEASE
示例测试设置:
@RunWith(SpringRunner.class)
public class TestClass {
public TestClass() {
System.out.println("constructor");
}
@PostConstruct
public void setup() {
System.out.println("setting up");
}
@Test
public void test1() {
System.out.println("test 1");
}
@Test
public void test2() {
System.out.println("test 2");
}
}
在输出中,“构造函数”被打印两次,“设置”被打印两次。 “test 1”和“test 2”各打印一次。
最佳答案
这是 JUnit 的标准生命周期。在调用每个测试方法之前会创建该类的新实例。创建该实例需要调用测试类的构造函数。鉴于已调用构造函数,因此调用任何 @PostConstruct 方法都是有意义的。
关于spring-boot - 为什么 @SpringRunner test 在每次测试时都会重新初始化类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46480775/
我正在尝试按如下方式创建 Spring 集成测试: @RunWith(SpringRunner::class) @ActiveProfiles(profiles = ["Test"]) @Contex
我有一个 spring-boot 应用程序,我正在尝试为其创建单元测试用例。下面是我尝试运行的代码,我没有任何配置文件(仅使用注释)所以加载所有配置的主类是 ElastSearchBootApplic
我找不到哪个 jar 会为我提供 SpringRunner.class 的依赖项 我正在尝试将我的集成测试升级到 spring-boot 1.4.0 最佳答案 SpringRunner.java位于s
我们正在与我的同事讨论这种方法。他们说仅在集成或功能级别使用 SpringRunner。 问题是在以下级别使用它的利弊是什么? 例如我有简单的 bean : public class RewardDu
在单元测试中,@Runwith(SpringRunner.class) & @SpringBootTest有什么区别? 你能给我解释一下每一个的用例吗? 最佳答案 @RunWith(SpringRun
当我创建 JUnit 测试时: @RunWith(SpringRunner.class) @SpringBootTest @DirtiesContext(classMode = DirtiesCont
每当我看到一篇与 Spring 测试相关的博文时,我都会看到这些类中的任何一个,但不明白真正的区别: @RunWith(SpringRunner.class)@RunWith(Sprin
您好,我正在尝试使用 SpringRunner.class 运行我的单元测试。我正在测试类中为 jdbcTemaplte 创建一个新实例。我正在使用 H2 DB 进行单元测试,并且我能够使用 jdbc
我正在使用@PostConstruct在运行测试之前进行一些初始设置,但似乎@PostConstruct方法在每个测试上运行,而不是仅在测试类初始化后一次。我还看到在 @PostConstruct 之
我尝试在 Intellij IDEA 中导入现有项目。所有依赖项均已解决,项目构建成功。当我尝试执行项目时,我收到以下错误消息: Could not initialize class org.spri
我们的 Spring Boot REST API 目前有一个相当大的单元测试存储库。单元测试将常见的可重用测试代码重构为 TestUtil类是 @Component注释。 看来SpringRunner
这是我在 stackoverflow.com 上提出的第一个问题。 最近我一直在寻找一种方法来更改 Spring Boot (2.x) 命名其通过 @Component (etc) 注释创建的 bea
我尝试用静态方法为类编写单元测试。 当我使用 @RunWith(MockitoJUnitRunner.class) 时,我的测试运行成功,但是当我将其更改为 @RunWith(SpringRunner
我正在尝试测试 JavaMail api 并使用 SpringRunner 和 PowerMockRunner,但它失败了。 @RunWith(PowerMockRunner.class) @Powe
我正在寻找一种方法来最小化 SpringBootTest 的启动时间目前最多需要 15 秒才能启动并执行测试。我已经使用了模拟 webEnvironment和 standaloneSetup()具体的
我收到以下编译器错误: Type mismatch: cannot convert from Class to Class 从此代码: import org.junit.runner.RunWith;
这是一个用于 java spring 数据存储库层的单元测试类。 我有一个spring数据存储库层,其中使用@Autowired注解注入(inject)TestEntityManager类型对象(属于
我用mockito尝试了junit,并为编码练习编写了一些测试用例。 这是我编写的测试用例: @RunWith(SpringRunner.class) public class Transaction
我们有一个 Spring 5 应用程序,使用 JUnit 4 作为测试工具(使用 SpringRunner)。我们遇到一个问题,即未标记带有 @Test 注释的私有(private)帮助器方法正在作为
我使用 @RunWith(MockitoJUnitRunner.class) 与mockito 进行 junit 测试。但现在我正在使用 spring boot 应用程序并尝试使用 @RunWith(
我是一名优秀的程序员,十分优秀!