2016-05-20 6 views
0

新しいフィッシュテーションを作成する際に、どのようにAssertJが作成したフィクスチャを殺すか、またはハングを防ぐ方法はありますか?AssertJ Swing - すべてのフィクスチャを殺す

"main" #1 prio=5 os_prio=0 tid=0x0000000002080000 nid=0x9c waiting on condition [0x00000000024cd000] 
    java.lang.Thread.State: WAITING (parking) 
    at sun.misc.Unsafe.park(Native Method) 
    - parking to wait for <0x0000000547049720> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) 
    at org.assertj.swing.lock.ScreenLock.acquire(ScreenLock.java:57) 
    at org.assertj.swing.core.BasicRobot.acquireScreenLock(BasicRobot.java:164) 
    at org.assertj.swing.core.BasicRobot.robotWithCurrentAwtHierarchy(BasicRobot.java:153) 
    at org.assertj.swing.fixture.AbstractWindowFixture.<init>(AbstractWindowFixture.java:119) 
    at org.assertj.swing.fixture.FrameFixture.<init>(FrameFixture.java:43) 

別つつ、新しいものが作成されているときに、器具の誤った使用方法によって引き起こされるのは勿論である:AssertJスイングに従来のGUIテストの多くを移行しようとしたとき、私はよく、次のデッドロックに直面しています1つはまだアクティブです。ただし、このデッドロックは移行を複雑にします。

答えて

1

私はロボットを作成する場合は、よりフレームワークを探索した後、私は私が

  • をロック使用する必要はありません

    • ことに気づいていることは、ロックを解除することが可能である自分は

    今度は、このコードを使用してフィクスチャを作成しています:

    他のテストはロックを解除しなかったが、それ以外の場合はウィンドウを閉じて他のすべてをクリーンアップした:

    assertJRobot.cleanUpWithoutDisposingWindows(); 
    
  • 関連する問題