在Android 19及以下版本上使用JunitParams运行程序时,我看到了一个异常。
下面的测试套件将重现这个问题
@RunWith(JUnitParamsRunner.class)
public class SimpleTest {
@Test
@Parameters({ "false", "true" })
public void simpleParameterizedTest(boolean enabled) {
// Should execute and pass
}
}
测试应该执行并通过。
不运行测试,因为"找不到测试"
我检查了日志,我看到以下异常发生。
09-07 12:17:01.187 3338-3355/com.twilio.video.test W/dalvikvm: Exception Ljava/util/regex/PatternSyntaxException; thrown while initializing Ljunitparams/naming/MacroSubstitutionNamingStrategy;
09-07 12:17:01.187 3338-3355/com.twilio.video.test E/TestExecutor: Fatal exception when running tests
java.lang.ExceptionInInitializerError
at junitparams.internal.TestMethod$1.computeValue(TestMethod.java:40)
at junitparams.internal.TestMethod$1.computeValue(TestMethod.java:35)
at junitparams.internal.Memoizer.get(Memoizer.java:11)
at junitparams.internal.TestMethod.describe(TestMethod.java:116)
at junitparams.internal.ParameterisedTestClassRunner.describeParameterisedMethod(ParameterisedTestClassRunner.java:161)
at junitparams.JUnitParamsRunner.describeMethod(JUnitParamsRunner.java:502)
at junitparams.internal.ParametrizedTestMethodsFilter.filteredMethods(ParametrizedTestMethodsFilter.java:30)
at junitparams.JUnitParamsRunner.getListOfMethods(JUnitParamsRunner.java:498)
at junitparams.JUnitParamsRunner.getDescription(JUnitParamsRunner.java:487)
at org.junit.runners.Suite.describeChild(Suite.java:123)
at org.junit.runners.Suite.describeChild(Suite.java:27)
at org.junit.runners.ParentRunner.shouldRun(ParentRunner.java:434)
at org.junit.runners.ParentRunner.filter(ParentRunner.java:382)
at org.junit.runner.manipulation.Filter.apply(Filter.java:97)
at android.support.test.internal.runner.TestRequestBuilder$LenientFilterRequest.getRunner(TestRequestBuilder.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:58)
at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:375)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
Caused by: java.util.regex.PatternSyntaxException: Look-behind pattern matches must have a bounded maximum length near index 40:
(?=\{[^\}]{0,50}\})|(?<=\{[^\}]{0,50}\})
^
at java.util.regex.Pattern.compileImpl(Native Method)
at java.util.regex.Pattern.compile(Pattern.java:411)
at java.util.regex.Pattern.<init>(Pattern.java:394)
at java.util.regex.Pattern.compile(Pattern.java:381)
at junitparams.naming.MacroSubstitutionNamingStrategy.<clinit>(MacroSubstitutionNamingStrategy.java:13)
... 19 more
下面是我的构建的一个片段。gradle
文件。
androidTestCompile 'pl.pragmatists:JUnitParams:1.1.0'
androidTestCompile 'com.android.support.test.espresso:espresso-core:3.0.1'
androidTestCompile 'com.android.support.test:runner:1.0.1'
androidTestCompile 'com.android.support.test:rules:1.0.1'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
在较新版本的Studio中,您需要编写:
testImplementation 'pl.pragmatists:JUnitParams:1.1.1'
但不是androidTestImplementation
这不起作用。
我们刚刚在JUnitParams中修复了这个问题,并发布了新版本。
现在,您可以获取最新版本,并开始在Android 19及以下版本中使用它!
androidTestCompile'pl.pragmatists: JUnitParams: 1.1.1'
我有一个有三种不同构建类型的项目:debug、beta和Release。我的测试包总是为调试构建而创建的,但是QA使用的是beta构建,我们希望QA在他们大量的设备上运行这些测试。 我试图为QA创建一个测试apk,该apk由与beta构建相同的密钥签名。翻阅Android-Gradle文档,我没有看到任何东西告诉我不能这样做,但我没有看到任何配置它的东西。我是否可以配置在组装测试APK时使用的密钥
这里的人只是用python展示了这个例子。我不能用同样的例子用java编写代码。 有什么建议吗
我正在VSTS中使用“基于云的ApacheJMeter负载测试”任务执行JMeter脚本。我有一个响应断言作为JMeter测试的一部分。我能够通过VSTS中的发布定义触发测试。当断言失败时,我希望发布失败。目前,发布成功,并发出如下警告: 2018-02-21T18:23:31.1885342Z##[警告][异常] 1次出现['测试'、'HTTP请求'、'网络异常']:请下载测试日志以查看此url
因此,我有一个应用程序,用户可以通过从一组>中进行选择来选择颜色,我使用XML属性为按钮着色,但显然这只适用于/。
我想开发一个部署目标为iOS 6.0的应用程序。如果我只使用Swift,它会工作吗?还是我也需要编写Objective-C代码?
问题内容: 我似乎无法通过测试成功获得PhantomJS。我试图将其集成到我的项目中,但是在此之后失败了,我尝试仅运行基本的Angular Docs示例,但遇到了同样的问题。到目前为止,我的步骤: // … GhostDriver-Main-在端口9515上运行 这是与示例中相同的文件,仅具有browserName,并且seleniumAddress端口已更改: 我收到以下错误消息: 我在gith