1

我在运行使用 TestNg 的 @DataProvider 为用 scala 编写的测试提供数据的测试时遇到了一些麻烦。这是我到目前为止所得到的。

import org.testng.annotations._
import org.testng.Assert
import org.scalatest.testng.TestNGSuite
import java.lang.Boolean

class PieceTest extends TestNGSuite {

  @DataProvider(name= "pieceMovesProvider")
  def pieceMovesProvider() = {
    Array[Object]( Array[Object](BISHOP, Position(0,0), Position(1,1), Boolean.TRUE))
  }


  @Test(dataProvider = "pieceMovesProvider")
  def testCanTake(piece: Piece, from: Position, to: Position, result: Boolean) = {
    Assert.assertEquals(result, piece.canTake(from, to))
    //Moves should be commutative
    Assert.assertEquals(result, piece.canTake(to, from))
  }

  @Test def hello() = {
    print(1)
  }
}

当我运行测试时,hello 测试通过但另一个测试被跳过,没有错误或解释。知道这里发生了什么吗?

4

1 回答 1

1

数据提供者的返回类型错误。应该是

@DataProvider(name= "pieceMovesProvider")
  def pieceMovesProvider() = {
    Array( Array[Object](BISHOP, Position(0,0), Position(1,1), Boolean.TRUE))
  }
于 2010-12-10T18:31:14.703 回答