小编And*_*ann的帖子

如何在异常后继续运行Android检测测试?

显然,当检测到的应用程序发生异常时,将停止检测测试运行:

测试未能完成.原因:'由于'异常'导致仪表运行失败.检查设备logcat以获取详细信息

这是自定义仪器运行器中的所需行为还是错误配置?

我正在使用自定义MonitorinInstrumentation[1]来自动化验收测试.

不幸的是,当在一个测试中发生异常时,测试执行被取消.我希望测试套件完成并只标记失败的测试,就像在JUnit中一样.

在一次测试中发生异常的情况下,是否存在执行(连接)测试而不退出整个测试的一般方法?

  1. https://github.com/cucumber/cucumber-jvm/blob/master/examples/android/android-studio/Cukeulator/app/src/androidTest/java/cucumber/cukeulator/test/Instrumentation.java

android android-testing cucumber-jvm

17
推荐指数
1
解决办法
2737
查看次数

受保护的成员在扩展功能中无法访问?

Kotlin具有几个可见性修饰符扩展功能.文件说明了这一点Extensions are resolved statically.但这对扩展函数中类成员的可见性意味着什么呢?

让我们考虑以下人为的例子:

class A { protected val a = "Foo" }
fun A.ext() { print(a) } //Raises: Cannot access 'a': it is 'protected' in 'A'

class B { val b = "Bar" }
fun B.ext() { print(b) } //Compiles successful
Run Code Online (Sandbox Code Playgroud)

代码不会编译.在扩展类时似乎无法访问受保护的成员.

因此,解决静态意味着扩展函数是在Java中具有类似内容的语法糖:

public static void ext(A receiver){ System.out.print(receiver.a); }
Run Code Online (Sandbox Code Playgroud)

这可以解释为什么受保护的成员无法访问.另一方面,可以this在扩展函数中使用(甚至省略).

那么扩展功能的确切范围是什么?

kotlin kotlin-extension

7
推荐指数
1
解决办法
1035
查看次数