2017-05-18 43 views
3

是否可以在執行前/執行期間使用JGiven(帶或不帶Spring支持)來檢索語句?例如,如果我們有一個相當典型的登錄驗收測試,即JGiven顯示驗收測試按行運行

public class LoginFeatureTest extends SpringScenarioTest<GivenIAmAtTheLoginPage, WhenILogin, ThenTheLoginActionWillBeSuccessful> { 

    @Test 
    public void my_login_test() { 

     given().I_am_a_new_user() 
     .and().I_am_at_the_login_page(); 

     when().I_login_with_username_$_and_password_$("dave", "dave123"); 

     then().the_home_page_is_visible(); 

    } 

} 

是否有可能獲得某些訪問以下信息?

My Login Test (start) 
    Given I am a new user 
     and I am at the login page 
    When I login with username dave and password dave123 
    Then the home page is visible 
My Login Test (end) 

即我正在尋找的是: -

  1. 方案方法的名稱+所有這givenwhenthenand聲明調用_(通過JGiven格式格式化)。
  2. 當每個方案方法在運行時開始。
  3. 當每個given,when,thenand在運行時執行。
  4. 場景方法結束時。

這將使我能夠直觀地顯示在UI中(a)準確地執行什麼和(2)它是執行期間的當前位置(持續時間)。

12:00:01.012   [ My Login Test (start) ] 
12:00:02.035 23ms  Given I am a new user 
12:00:02.051 16ms  and I am at the login page 
    ---->     When I login with username dave and password dave123 
         Then the home page is visible 
        [ end ] 

我在想Spring AOP可能會在這裏拯救嗎?或者JGiven是否提供了埋在代碼中的任何有用信息?

回答

0

目前沒有可能做到這一點。我爲此創建了一個問題:https://github.com/TNG/JGiven/issues/328

實現這一點不應該太困難,因爲內部已經存在一個偵聽器概念。如果你仍然感興趣,你可以提出一個API並將其整合到JGiven中。

相關問題