显然,当检测到的应用程序发生异常时,将停止检测测试运行:
测试未能完成.原因:'由于'异常'导致仪表运行失败.检查设备logcat以获取详细信息
这是自定义仪器运行器中的所需行为还是错误配置?
我正在使用自定义MonitorinInstrumentation[1]来自动化验收测试.
不幸的是,当在一个测试中发生异常时,测试执行被取消.我希望测试套件完成并只标记失败的测试,就像在JUnit中一样.
在一次测试中发生异常的情况下,是否存在执行(连接)测试而不退出整个测试的一般方法?
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在扩展函数中使用(甚至省略).
那么扩展功能的确切范围是什么?