[JUnit] Assumption and assertAll

Assumption:

Run the testing code only if when the condition is match, otherwise, test will be ignored

    @Test
    void runTestIf() {
        System.out.print("Current hour: " + gc.get(Calendar.HOUR_OF_DAY));
        // if not match the asumption, test will be ignored
        Assumptions.assumeTrue(gc.get(Calendar.HOUR_OF_DAY) < 20);
        // following code will be executed only when Assumption match
        firstEmployee.adjustSalary(5000);
        assertEquals(85000, firstEmployee.getSalary());
    }

    @Test
    void runOnlyTestDefined() {
        System.out.print("Current hour: " + gc.get(Calendar.HOUR_OF_DAY));
        Assumptions.assumingThat(gc.get(Calendar.HOUR_OF_DAY) < 20, () -> {
            // only this part of code will be run if assumption is true
            assertEquals(85000, firstEmployee.getSalary());
        });
        System.out.print("After the invocation of assumingTaht will still be excuated no matter what");
    }

 

assertAll:

Check all condiiton in test:

    @Test
    void checkEmployee() {
        firstEmployee.adjustSalary(4000.0);

        assertAll(
                () -> assertEquals(84000, firstEmployee.getSalary()),
                () -> assertNotNull(firstEmployee.getFirstName()),
                () -> assertThrows(NamingException.class, () -> {firstEmployee.validateLastName();})
        );
    }

 

posted @   Zhentiw  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-08-04 [SAA + SAP] 19. Database & Redshfit
2021-08-04 [SAA + SAP] 18. Architecture Discussions - 1
2020-08-04 [AWS] Build an App with AWS CDK
2019-08-04 [React Native] Up & Running with React Native & TypeScript
2019-08-04 [React] Create a Query Parameter Modal Route with React Router
2018-08-04 [JavaEE] Implement a test for REST endpoint
2018-08-04 [JavaEE] Implement a REST Endpoint
点击右上角即可分享
微信分享提示