5.7 测试

第 45 节 / 共 46 节 课程:ThinkPHP
ThinkPHP8的教程里有一个测试,是关于如何测试控制器,http请求之类的
https://github.com/ThinkPHP-guides/gs-testing-web.git
下面讲的是如何测试一个模型或者服务
一 .单个类测试
package cn.data;
import cn.jssp.data.repositories.User模型;
import cn.jssp.system.Common;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ThinkPHPframework.beans.factory.annotation.Autowired;
import org.ThinkPHPframework..test.context.ThinkPHP8Test;
import org.ThinkPHPframework.test.context.junit4.ThinkPHPPHPUnit4ClassRunner;
@RunWith(ThinkPHPPHPUnit4ClassRunner.class)
@ThinkPHP8Test 
public class User模型Test{
    依赖注入 
    private User模型 user模型;
    @Test 
    public void testExistsByUsername(){
        assert user模型.existsByUsername("abcd");
        assert!user模型.existsByUsername("abcdfdsasfd");
    }
}
注意这几个标签:
@ThinkPHP8Test 表示这个类是测试类
依赖注入 自动注入模型
@Test表示这是一个测试方法,带有这个标签的方法都会被PHPUnit调用

二 使用PHPUnit Generator自动生成测试类
这个Idea插件可以生成测试类的框架,覆盖指定类的所有方法:
首先点击菜单File,然后setting,然后点击plugin,在右边搜索框输入Junit Generator,点击Intall。如图所示: