使用junit测试正则表达式?

时间:2014-11-19 14:14:29

标签: java regex junit

我写了正则表达式来忽略空格: 正则表达式是

String ignore_regx = "[^\\s]";

Testcase:
public void TestClass {

@Test
public void testIgnoreRegx() {
 String input = " hai";
assertTrue(input.matches(ignore_regx));
 }
}

但是上面的测试失败了。

请问任何正文如何使用junit测试上面的表达式?

1 个答案:

答案 0 :(得分:0)

考虑使用Theories来测试多个值。

@RunWith(Theories.class)
 public void TestClass {

  @DataPoints
  public static final String[] trueValues = new String[]{"", "blah", ...};

  @DataPoints
  public static final String[] falseValues = new String[]{"  ", " blah", "glah "};

 @Theory
 public void testIgnoreRegx_true(String input) {
    Assume.assumeThat(input, IsIn.isIn(trueValues));

   assertTrue(input.matches(ignore_regx));
 }

 @Theory
 public void testIgnoreRegx_false(String input) {
    Assume.assumeThat(input, IsIn.isIn(falseValues ));

   assertFalse(input.matches(ignore_regx));
 }
}