jhe*_*dus 20 testing junit intellij-idea scalatest
可以在IntelliJ IDEA 12中运行单个选定的JUnit测试方法,但是ScalaTest似乎无法做到这一点.你可以运行整个测试类,或者什么都没有,但是在IntelliJ IDEA 12中似乎没有更好的控制ScalaTest(我还没有尝试过IDEA 13.)
所以,问题是:有没有办法在IntelliJ中只执行一个选定的ScalaTest测试方法(就像使用JUnit测试方法一样).
下面是一个代码示例,其测试方法我想在IntelliJ中单独运行.知道怎么做吗?
我试过JUnitRunner,但没有帮助.
class NodeDAOTest extends FlatSpec with SessionAware with BeforeAndAfter {
before{ IM3_SessionFactory.removeData
println("before is running")}
println("NodeDAOTest constructor.")
def numberOfNodes=initAndCloseDB(transaction{NodeDAO.numberOfNodes})
"Node" can "be added to DB and removed." in {
val n =new TextNode
assert(numberOfNodes===0)
initAndCloseDB { transaction{session save n}}
assert(numberOfNodes===1)
initAndCloseDB { transaction{deleteNode(n)}}
assert(numberOfNodes===0)
}
def getTag= initAndCloseDB {transaction{ session.createQuery("from Tag").list().get(0).asInstanceOf[Tag]}}
def getNode=initAndCloseDB {transaction{ session.createQuery("from Node").list().get(0).asInstanceOf[Node]} }
it can "be tagged and untagged" in {
val t=new Tag
val n=new TextNode
assert(numberOfNodes==0,"before adding one tag (and Node), there should be 0 Node in the DB")
initAndCloseDB{ transaction {addTag(t,n) }}
assert (getNode.getNumberOfTags===1)
assert (getTag.getNodes.size===1)
initAndCloseDB(transaction{removeTag(t,n)})
assert (numberOfNodes==1,"after removing the tag, there should be 1 Node in the DB")
assert (getNode.getNumberOfTags===0)
assert (getTag.getNodes.size===0)
}
"Tagged Node" can "be removed." in {
val f=new TagAndNodeFixture
assert(numberOfNodes==1)
initAndCloseDB{ transaction {addTag(f.t,f.n) }}
initAndCloseDB { transaction{deleteNode (f.n)} }
assert(numberOfNodes==0)
// the tag will be removed from the node
}
"Tag" can "be deleted and that will be removed from in-memory Nodes" in{
}
}
Run Code Online (Sandbox Code Playgroud)
Fra*_*man 14
我使用IntelliJ IDEA 13,我可以在使用时运行单个测试FunSuite- 将光标放在测试中并按Alt+ Shift+ F10然后测试就在那里.FlatSpec测试是不可能的.
它最近被添加,我记得它甚至没有在版本12中工作FunSuite.
您可以通过将光标置于测试中来生成特定flatspec测试的运行配置,并从运行菜单中选择Run...(mac上的选项+ Shift + F10),并且靠近顶部将是特定测试的条目.
您可以通过正常选择测试类来手动生成运行配置,然后将测试名称("foo"中"foo" should "bar" in...)复制到Test Name字段中
我有同样的问题.如果你在第一个单词中有空格,它会显示出来
"test " should "..."
Run Code Online (Sandbox Code Playgroud)
当我删除空间时,测试开始运行
| 归档时间: |
|
| 查看次数: |
7739 次 |
| 最近记录: |