小编Sou*_*dra的帖子

scala.concurrent.blocking的用例

我遇到了这个scala.concurrent.blocking方法,根据Scala文档,这是......

用于指定可能阻塞的代码段,允许当前的BlockContext调整运行时的行为.正确标记阻塞代码可以提高性能或避免死锁.

我有些疑惑:

  • 生成新线程的因素是什么?
  • 这是否仅适用于scala.concurrent.ExecutionContext.Implicits.global执行上下文或用户创建的执行上下文?
  • 如果我用blocking {... 包装任何可执行文件会发生什么}
  • 我们应该使用这个结构的任何实际用例.

scala scala-2.10

71
推荐指数
1
解决办法
1万
查看次数

TestNG 非静态数据提供程序方法不起作用

我有一个测试类和测试方法。这取决于数据提供者方法。数据提供程序方法位于测试类或其基类之一以外的不同类中。根据 TestNG 文档

如果你想把你的数据提供者放在一个不同的类中,它需要是一个静态方法或一个具有非参数构造函数的类,并且你在 dataProviderClass 属性中指定可以找到它的类

测试类:

package test;

import org.testng.Assert;
import org.testng.annotations.Test;

import dataprovider.TestDataProvider;

public class TestClass {
      @Test(dataProvider = "get", dataProviderClass=TestDataProvider.class)
      public void test1(String s1, String s2) {
          Assert.assertEquals(s1.length(), s2.length());
      }
}
Run Code Online (Sandbox Code Playgroud)

数据提供者类:

package dataprovider;

import org.testng.annotations.DataProvider;

public class TestDataProvider {
    @DataProvider(name = "get")
    public Object[][] testData() {
        return new Object[][] {{"a", "b"},{"c", "d"}};
    }
}
Run Code Online (Sandbox Code Playgroud)

Eclipse 的测试输出:

    java.lang.RuntimeException: Can't invoke method public java.lang.Object[][] dataprovider.
TestDataProvider.testData() on this instance of class test.TestClass due to class mismatch
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:75) …
Run Code Online (Sandbox Code Playgroud)

java testng testng-dataprovider testng-eclipse

3
推荐指数
1
解决办法
1万
查看次数