问:在java项目中,我可以编写一个涉及数据库的集成测试:1.清除表中当前可用的所有数据。1.上传新的测试数据。在他们身上做个测试。1.回滚。所有这些都是通过Java @Transactional实现的。我可以在空手道中做类似的事情(交易)吗?我的空手道算法是:1.从karate将测试数据插入数据库。1.调用处理数据的API java方法。问题:表中已有干扰测试的数据。你不能为了考试就永远删除它们。
oymdgrw71#
你可以将任何Java代码集成到空手道中,所以如果你真的想,你可以使用direct to JDBC。当涉及到API时,我非常确定您无法控制事务,因为您处于架构的外层。根据经验,我所看到的有效策略是,每个测试创建的数据在开始时“限定”在该流的范围内。当您使用GET数据时,您可以通过您感兴趣的数据进行过滤,或者通过API参数,或者您可以在空手道中进行过滤(通常是match contains,当涉及数组时)。你可以看到一个典型的例子here。也可以看看这个thread:https://stackoverflow.com/a/60944060/143475的
GET
match contains
1条答案
按热度按时间oymdgrw71#
你可以将任何Java代码集成到空手道中,所以如果你真的想,你可以使用direct to JDBC。
当涉及到API时,我非常确定您无法控制事务,因为您处于架构的外层。根据经验,我所看到的有效策略是,每个测试创建的数据在开始时“限定”在该流的范围内。当您使用
GET
数据时,您可以通过您感兴趣的数据进行过滤,或者通过API参数,或者您可以在空手道中进行过滤(通常是match contains
,当涉及数组时)。你可以看到一个典型的例子here。
也可以看看这个thread:https://stackoverflow.com/a/60944060/143475的