是否可以使用JGiven(带有或不带有Spring支持)在执行之前/执行期间检索语句?例如,如果我们进行了相当典型的登录接受测试,即
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)
即,我正在寻找的是:-
given
,when
,then
和and
语句调用_(通过JGiven格式设置)。 given
,when
,then
和and
在运行时执行时。 这将使我能够在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提供了一些有用的代码?
最佳答案
目前还没有这样做的可能性。我为此创建了一个问题:https://github.com/TNG/JGiven/issues/328。
实现这一点应该不会太困难,因为内部已经存在一个侦听器概念。如果您仍然感兴趣,可以提出一个API并将该机制集成到JGiven中。