В IntelliJ IDEA 12 можно запустить один выбранный тестовый метод JUnit, однако это не представляется возможным с помощью ScalaTest. Вы можете запустить весь тестовый класс или ничего, но, похоже, в IntelliJ IDEA 12 нет более тонкого элемента управления ScalaTest (пока еще не пробовал IDEA 13).
Итак, вопрос: Есть ли способ выполнить только один выбранный тестовый метод ScalaTest в IntelliJ (как это возможно с помощью методов тестирования 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{
}
}