我有specs2 Specification
来测试针对多个数据库的数据库相关内容。因此,它通过其构造函数参数获取要测试的数据库配置。它是从一个更大的规范中实例化和使用的,它针对所有数据库进行测试。
现在我只想对sbt中的MSSQL进行测试,但是如果我使用test-only f.q.d.n.MySpec(DatabaseConfig.MSSQL)
则没有运行任何测试,因为它与任何测试都不匹配。如果我将参数关闭,它会尝试实例化该类并正确地失败,因为它无法在没有参数的情况下实例化它。
有没有办法只使用sbt中的一组特定构造函数参数运行特定规范而不更改调用它的更大规范?
答案 0 :(得分:1)
使用test:only
时,需要传递与类名匹配的表达式(如果需要,使用*
)。然后specs2将尝试实例化你的构造函数参数,如果他们有一个带0参数的构造函数。如果传递对象,则不是这种情况。您可以尝试使用带有0参数构造函数的类吗?