类似于@TestedOn 的理论但可用于字符串?还是单独参数化类?

Something like theories @TestedOn but usable with Strings? or separate parameterized classes?

我有几个不同的字符串数组,例如

private static final String[] allowed = {"-", "_", "@", ".", "`", "[", "]", "'", "#", "?", "&", "!", "{", "}"};
private static final String[] disallowed = {" ",  "/", "*", "~", "|","\", "<", ">", "\"", "=", "%", "$", "^"};

我有三个测试创建用户的测试,我们称它们为测试 A、B 和 C。

如果我想 运行 针对 allowed 中的每个字符串分别测试 A,针对 disallowed 中的每个字符串测试 B,并且测试 C 没有参数,只有 [=23] =]s,有没有一种方法可以将所有三者合而为一 class 或者我是否需要将它们分开以分开 classes(目前测试 A、B 和 C 是分开的 classes)?

我正在研究 Junits 理论,看起来有一些可能性,但理论相当没有记录,这让我来到这里。感谢您的指点或建议。

我在 GitHub 上有一个库,我在其中实现了 @TestOn,它允许所有原始类型。

TestOn

恕我直言 @FromDataPoints 可以帮助你。

@DataPoints ("allowed")
private static final String[] allowed = {"-", ... }

@DataPoints ("disallowed ")
private static final String[] disallowed = {" ", ... }

@Theory
public void testAllowed(@FromDataPoints("allowed") String s) { ... }

@Theory
public void testDisallowed(@FromDataPoints("disallowed") String s) { ... }