南山免费做网站公司排名,90设计网是干嘛的,互联网登录的网站名,设计师网上接单兼职有时#xff0c;您会遇到一个问题#xff0c;就是尖叫使用“参数化”测试#xff0c;而不是多次复制/粘贴相同的方法。 测试方法基本上是相同的#xff0c;唯一改变的是传入的数据。在这种情况下#xff0c;请考虑创建一个利用JUnit中的“ Parameterized ”类的测试用例。… 有时您会遇到一个问题就是尖叫使用“参数化”测试而不是多次复制/粘贴相同的方法。 测试方法基本上是相同的唯一改变的是传入的数据。在这种情况下请考虑创建一个利用JUnit中的“ Parameterized ”类的测试用例。 我最近遇到了一个问题其中我们对电子邮件地址的验证不允许使用unicode字符。 解决方法非常简单更改正则表达式以允许这些字符。 接下来该测试更改了。 我决定不对每组数据复制/粘贴单独的方法而是决定学习Parameterized方法。 结果如下。 数据包括预期结果和要验证的电子邮件地址。 JUnit测试类 package com.mycompany.client;import static org.junit.Assert.*;import java.util.Arrays;import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;import com.mycompany.test.TestServiceUtil;/*** Parameterized test case for validating email addresses against a regular expression.* We need to allow unicode characters in the userid portion of the email address, so * these test cases where created to help validate the validateEmailAddress method* in the FieldValidationController class.* * author mmiller**/
RunWith(Parameterized.class)
public class TestFieldValiationController {Parameters(name {index}: {1} is valid email address {0})public static IterableObject data() {return Arrays.asList(new Object[][] { { true, johnmycomp.com }, { true, john123mycomp.com },{ true, j._%20_-brownmycomp.com }, { true, 123mycomp.com },{ false, john brownmycomp.com }, { false, 123mycomp },{ false, john^brownmycomp.com }, { true , 1johnmycomp.com },{ false, john#brownmycomp.com }, { false, john!brownmycomp.com },{ false, john()brownmycomp.com }, { false, johnbrownmycomp.com },{ true, johñ.brownmycomp.com }, { false, john.brownmycomp.coñ },{ true, johúmycomp.com }, { true, johíáómycomp.com }});}private boolean expected;private String emailAddress;public TestFieldValiationController(boolean expected, String emailAddress) {this.expected expected;this.emailAddress emailAddress;TestServiceUtil.getInstance();}Testpublic void validateEmail() {assertEquals(expected, FieldValidationController.getInstance().validateEmailAddress(emailAddress));}
} 希望这可以帮助 参考在Scratching我的编程itch博客上我们的JCG合作伙伴 Mike Miller提供了参数化JUnit测试 。 翻译自: https://www.javacodegeeks.com/2014/03/parameterized-junit-tests.html