Я написал этот метод тестирования в Scala для тестирования службы REST.Scalatest «По крайней мере один» вместо Forall
@Test def whenRequestProductInfo() {
// When Request Product Info
forAll { (productId: Int) =>
val result = mockMvc().perform(get(s"/products/$productId")
.accept(MediaType.parseMediaType(APPLICATION_JSON_CHARSET_UTF_8)))
.andExpect(status.isOk)
.andExpect(content.contentType(APPLICATION_JSON_CHARSET_UTF_8))
.andReturn;
val productInfo = mapper.readValue(result.getResponse.getContentAsString, classOf[ProductInfo])
// At least one is not null
// assert(productInfo.getInventoryInfo != null)
}
}
Но я хочу, чтобы проверить , что по крайней мере один productInfo.getInventoryInfo не является нулевым вместо каждый productInfo.getInventoryInfo не является нулевым.
Но вы * действительно * хочу быть для всех идентификаторов продукта, правильно? то есть. для всех идентификаторов продуктов каждый имеет информацию инвентаря, по крайней мере, с одним элементом, который не является нулевым? Является ли 'getInventoryInfo' коллекцией? –
Нет точно. Я хочу найти хотя бы один идентификатор продукта с inventoryInfo! = Null –
forAll в этом случае использует генератор Int по умолчанию для значений (я думаю). Я не уверен, что это то, что вы хотите. Вы уверены, что не хотите проверять одно конкретное значение? Вы смотрели на «когда-нибудь»? Это может помочь вам сузить то, что вы ищете, и использовать генераторы. Посмотрите http://www.scalatest.org/user_guide/generator_driven_property_checks для всякий раз. –