0


Junit和Junit.Jupiter.api用法区别

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注解了。

标签: spring boot spring

本文转载自: https://blog.csdn.net/wwh1st/article/details/127990034
版权归原作者 穗余 所有, 如有侵权,请联系我们删除。

“Junit和Junit.Jupiter.api用法区别”的评论:

还没有评论