Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建简单的Junit@rule_Junit - Fatal编程技术网

创建简单的Junit@rule

创建简单的Junit@rule,junit,Junit,我刚刚发现了JUnit规则 我有一个Groovy单元测试用例,如下所示 class CheckRegistrationValidatorTest { @Test void 'input validation'() { def checkRegistrationValidator = new CheckRegistrationValidator(regexCarTruckRegNo:/^[a-zA-Z0-9]{1,6}$/, re

我刚刚发现了JUnit规则

我有一个Groovy单元测试用例,如下所示

class CheckRegistrationValidatorTest {

    @Test
    void 'input validation'() { 
        def checkRegistrationValidator = 
               new CheckRegistrationValidator(regexCarTruckRegNo:/^[a-zA-Z0-9]{1,6}$/, regexMotorcycleRegNo:/^[a-zA-Z0-9]{3,5}$/, regexTrailorRegNo:/^[a-zA-Z0-9]{6}$/, regexBoatRegNo:/^[a-zA-Z0-9]{1,6}$/, regexVin:/^(?=.*[0-9])(?=.*[a-zA-Z])([a-hj-npr-z0-9]{17})$/, regexChassis:/^[a-zA-Z0-9]{1,6}$/)
        def input = [
                vehicleClassCode: '0',
                vehicleIdentificationType: 'registrationNumber',
                vehicleRegistrationNumber: 'WEB001'
            ]   
        checkRegistrationValidator.validate input
    }

}
我想用@ClassRule替换checkRegistrationValidator实例化。我已经试着读过了,但我就是不明白

有人能帮我创建一个@ClassRule来完成这行代码吗


谢谢

为什么需要规则?您可以将其声明为类成员变量。我同意!我只是想顺其自然。我以为这些类成员变量应该被转换成@Rules?也许用例不适合?规则旨在封装测试用例/类之前/之后发生的一些行为(创建/删除文件夹的
TemporaryFolder
就是一个很好的例子)。考虑到您可以在Java中以本机方式进行变量初始化,实际上不需要规则(就我所知)。