2014-07-24 144 views
0

間歇一些ScalaTest測試運行失敗,這種矛盾的輸出:如何測試失敗,既「TestsFailedException」和「0失敗,錯誤0」

... 
akka.pattern.AskTimeoutException: Timed out 
    at akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:334) 
    at akka.actor.Scheduler$$anon$11.run(Scheduler.scala:118) 
    at scala.concurrent.Future$InternalCallbackExecutor$.scala$concurrent$Future$InternalCallbackExecutor$$unbatchedExecute(Future.scala:694) 
    at scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:691) 
    at akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:455) 
    at akka.actor.LightArrayRevolverScheduler$$anon$12.executeBucket$1(Scheduler.scala:407) 
    at akka.actor.LightArrayRevolverScheduler$$anon$12.nextTick(Scheduler.scala:411) 
    at akka.actor.LightArrayRevolverScheduler$$anon$12.run(Scheduler.scala:363) 
    at java.lang.Thread.run(Thread.java:744) 
[error] Could not run test com.example.Spec: akka.pattern.AskTimeoutException: Timed out 
... 
[info] ScalaTest 
[info] Run completed in 20 seconds, 772 milliseconds. 
[info] Total number of tests run: 64 
[info] Suites: completed 12, aborted 0 
[info] Tests: succeeded 64, failed 0, canceled 0, ignored 0, pending 0 
[info] All tests passed. 
[error] Error: Total 64, Failed 0, Errors 0, Passed 64 
[error] Error during tests: 
[error]  com.example.Spec 
[error] (price-finder/test:test) sbt.TestsFailedException: Tests unsuccessful 
[error] Total time: 78 s, completed Jul 24, 2014 12:37:10 PM 

我怎樣才能防止這些故障?如果測試代碼成功,我不希望拋出的異常導致測試運行失敗。

+1

「測試期間出錯」與「失敗測試」不同。這將有助於查看測試用例的相關部分。你實際上是否有64個測試或65個,還有一個沒有被框架運行? – vptheron

+0

你的方向是對的。 Spec構造函數中有個例外。因此,儘管Spec中的所有測試都被實際跳過,但測試摘要不會顯示它們。在「測試過程中的錯誤」中,我沒有看到「錯誤」的含義。 –

+0

首先,你確定你正在從測試的線程中獲得例外嗎?因爲如果不是這樣,它將不會涓涓細流到測試,而是到另一個線程的頂部(很可能是來自ExecutionContext或Dispatcher的工作線程) –

回答

1

ScalaTest本身並不區分錯誤和失敗。儘管如此,Sbt也如JUnit和specs2那樣。是否有可能爲混合中的不同測試框架編寫測試?特別是,com.example是什麼樣的.Spec看起來像什麼?

+0

沒有使用其他測試框架。我的問題的答案似乎正如我評論的那樣,一個測試類未能完全初始化。所以測試用例不會被加載並且似乎消失,而不是出現錯誤。 –

相關問題