Junit和Junit.Jupiter.api用法区别

文章来源地址https://uudwc.com/A/qXP3

JunitJunit.Jupiter.api用法区别写在了文章的总结处,这里先简单的介绍一下Junit用法。

Junit 5 = Junit Platform + Junit Jupiter + Junit Vintage

Junit4中的@Test是import org.junit.Test;
Jupiter中的@Test是import org.junit.jupiter.api.Test;

Junit用法

  • 开发步骤

    • ①引入spring-test依赖

    • ②定义单元测试类

  • ①引入spring-test依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>5.3.8</version>
</dependency>
  • ②定义单元测试类写法一

使用xml写配置文件

Junit测试类代码1

//1.加载Spring容器

@ContextConfiguration(locations = "classpath:spring-core.xml")//1.1,根据spring-core.xml加载spring容器
@RunWith(SpringJUnit4ClassRunner.class)//1.2, 由spring容器运行当前的单元测试类
public class Annotation2Test {


    @Autowired//2.获取user对象
    private User user;


    @Test
    public void test2() {
        System.out.println("user = " + user);
    }


}

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">


    <!--扫描注解-->
    <context:component-scan base-package="com.lzc"></context:component-scan>

    <!--加载user.properties-->
    <context:property-placeholder location="user.properties"></context:property-placeholder>

</beans>

 ②定义单元测试类写法二

不使用xml,使用注解编写配置类

Junit测试类代码2

@ContextConfiguration(classes = SpringServiceConfiguration.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class CustomerServiceTest {

    @Autowired
    private CustomerService customerService;

    @Test
    public void findAll() throws Exception {
        List<Customer> customerList = customerService.findAll();
        System.out.println("customerList = " + customerList);
    }
/**
 * 主配置类
 */
@Configuration
@ComponentScan("com.atguigu")
@Import(SpringDaoConfiguration.class)
public class SpringServiceConfiguration {
}

Junit.Jupiter.api用法

@SpringBootTest
public class EsTest {

    @Autowired
    private ProductRepository productRepository;

    /**
     * 创建、更新文档
     * 文档ID不存在,则创建文档
     * 文档ID存在,则删除原文档,创建新文档
     */
    @Test
    public void create() {
        Product product = new Product("2", "衬衫2", 200.9);
        Product save = productRepository.save(product);
        System.out.println("save = " + save);
    }

    /**
     * 查询所有
     */
    @Test
    public void get() {
        Iterable<Product> all = productRepository.findAll();
        for (Product product : all) {
            System.out.println(product);
        }
    }

    /**
     * 根据文档ID查询
     */
    @Test
    public void getById(){
        Optional<Product> optional = productRepository.findById("2");
        Product product = optional.get(); //获取查询到的文档数据
        System.out.println("product = " + product);
    }

    /**
     * 删除文档
     * 不论文档ID存在与否,方法都会正常执行结束
     */
    @Test
    public void deleteById(){
        productRepository.deleteById("123");
        System.out.println("删除执行完成......");
    }
}

Junit和Junit.Jupiter.api用法区别的总结:

我们从上面的代码可以看出,Junit和Junit.Jupiter.api用法区别

在导入@Test的Class时候,我们可以看到JunitJunit.Jupiter.api两个选项。

Junit4中的@Test是import org.junit.Test;
Jupiter中的@Test是import org.junit.jupiter.api.Test;

 在测试类中@Test导入了Junit.Jupiter.api的Class文件后,我们就不需要再加上@RunWith注解了。

原文地址:https://blog.csdn.net/wwh1st/article/details/127990034

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月16日 06:56
计算机网络--网络层
下一篇 2023年06月16日 06:56