出于某种原因(我不是很好与Spock和新的嘲笑和攻击),我不能得到一个特定的方法来存根与我想要的。
我已经缩短了一些内容,但基本上我有一个从搜索中返回的书籍列表。每本书都有一个workid
。这本书可能有较旧或较新的版本,但它们都具有相同的workid
--如果用户选择,他们可以获取所有其他版本。
类别:版本
class Edition {
//some strings, ints, and booleans -- information about the edition
}
class:用于获取单个作品的附加版本的EditionResults
class EditionResults {
List<Edition> editionsList
String parentWorkId
}
class BulkEditions {
List<EditionResults> bulkEditions
}
@RequestMapping('/api')
class EditionsController {
@Autowired
private EditionsService editionsService
private Logger logger = LoggerFactory.getLogger(EditionsController)
@RequestMapping(value = '/bulkeditions', produces = 'application/json')
ResponseEntity<BulkEditions> getBulkEditions(
@RequestParam(value = 'workIds') Set<String> workIds
) throws Exception
{
BulkEditions newBulkEditions = new BulkEditions(bulkEditions: [])
workIds.each { workId ->
EditionResults editions = editionsService.searchEditions(workId)
logger.info "EditionResults {}", editions
if (editions?.editionsList) {
newBulkEditions.bulkEditions << editions
}
}
new ResponseEntity<BulkEditions>(newBulkEditions, HttpStatus.OK)
}
}
特别是,我在测试editions的真分支时遇到了困难?.editionslist
--出于某种原因,我一直收到editions
的null
class EditionsControllerSpec extends Specification {
private final EditionsService editionsService = Mock(EditionsService)
private static final Set<String> WORK_ID_SET = '12345' as Set<String>
private static final String SINGULAR_WORK_ID = '12345'
@Subject
private final EditionsController controller = new EditionsController(editionsService: editionsService)
void 'test get bulk editions'() {
given:
EditionResults editionResults = Mock(EditionResults)
Edition edition = GroovyMock(Edition) //it's a java class
edition.isAvailable >> true
//edition.bunchOfOtherProps >> randomValues
editionResults.editionsList >> [edition]
editionResults.parentWorkId >> SINGULAR_WORK_ID
editionsService.searchEditions(SINGULAR_WORK_ID) >> editionResults
when:
ResponseEntity<BulkLocalEditions> response = controller.getBulkEditions(WORK_ID_SET)
then:
response
}
editionsService.searchEditions(SINGULAR_WORK_ID) >> editionResults
我不明白为什么我总是(从我的记录器)拿回这个
[Test worker] INFO [EditionsController:100] [doCall] EditionResults ***null***
我的理解是,editionsservice.searcheditions(SINGULAR_WORK_ID)>>editionResults
相当于说“当我们点击这个searcheditions
方法时,使其结果editionResults
”--我们已经填充了它....那么它是如何为空的呢?
我已经试着尽可能详细和干净地回答这个问题,为了简洁而简化,但如果需要任何额外的信息,请让我知道--当然,提前感谢。
同样值得注意的是,它实际上在我的本地工作,一切都正确地回来了--只是这个三叶草的报道让我
感谢@tim_yates
editionsservice.searcheditions(SINGULAR_WORK_ID)>>editionResults
应该在我的then
块中
我有简单的测试 为什么maven和intellij不能执行Junit5测试?这方面的工作是什么?surefire版本应该已经支持JUnit5测试。
我在学习测试。但是我发现在TestNG6.8中,注释测试后有问题。 它来自http://testng.org/doc/documentation-main.html。 但实际上,我的测试用例还没有启动,@AfterTest已执行!为什么?像这样输出。
我的问题是,我在java iso客户端和测试服务器之间有ssl连接。连接正常,握手没有问题,但服务器接收到不正确的数据。 正如我在日志服务器中看到的,在一次读取操作期间只接收部分数据,并且输入流中也存在一些奇怪的数据-可能与证书信息有关。 请注意,如果没有ssl,此客户端和服务器工作时不会出现任何问题。而且,当我用java keyTool简单地创建jks标准证书时,一切都正常,问题也不会发生。 但
安装程序:我有一个扩展IRetryAnalyzer的类,并实现了一个简单的重试逻辑,覆盖了以下方法:public boolean retry(ITestResult result){ 提前道谢。
主要内容:验收测试背后的原因,执行验收测试的步骤,验收测试中使用的工具,验收测试的优点,验收测试的缺点验收测试是基于用户要求和功能处理的正式测试。它确定软件是否符合指定的要求和用户要求。它是作为一种黑盒测试进行的,其中涉及测试系统接受程度所需的用户数量。这是软件测试的第四级和最后一级。 但是,该软件已通过三个测试级别(单元测试,集成测试,系统测试)但仍有一些小错误,当最终用户在实际场景中使用系统时,可以识别这些错误。 验收测试是对先前完成的所有测试过程的挤压。 验收测试背后的原因 当软件经历了单