いるassertTrueに/オプションおよびオブジェクトに等しい方法のJUnit

ブラム:

どのように私はオプションとオブジェクト間のテストにassert.equalsを使うのですか?デバッグした後は、同じ値を示していますが、私のテストはまだ合格していません。エラーを返す:org.springframework.test.util.AssertionErrors.assertTrueで

私のテストクラスは、ALSは以下になります。

@RunWith(SpringJUnit4ClassRunner.class)
@ActiveProfiles("test")
@SpringBootTest
public class DishServiceTest {

    private static final String DISH_NAME = "Kaas";
    private static final String DISH_TYPE = "Voorgerecht";

    @Autowired
    private DishService dishService;

    @Test
    public void findById(){
        //execute
        Dish dish = createDish(DISH_NAME, DISH_TYPE);

        Long dishId = dish.getId();

        Optional<Dish> dish2 = dishService.findById(dishId);

        //verify
        assertNotNull(dish2);
        //assertEquals(Optional.of(dish2), dish);
        assertTrue("created a dish" ,Optional.of(dish2).equals(dish));
    }

    private Dish createDish(String dishName, String dishType) {
        Dish dish = new Dish();
        dish.setDishName(dishName);
        dish.setDishType(dishType);
        Dish retval = dishService.save(dish);
        return retval;
    }

私のデバッグの結果:

ここでは、画像の説明を入力します。

オッリ:

DishService.findById返すOptionalことはありませんこれはnull契約によっては、従って、assertNotNull試験中には何もしません。最初の非空虚アサートassertTrue(dish2.isPresent())代わりに。

その後、返されたの内容を比較Optionalしてオブジェクトを:

assertEquals(dish, dish2.get())

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=236162&siteId=1