[TDD,Clear Code with JAVA]レーシングカーミッション1
2055 ワード
第1段階テスト学習
JUnit 5テストコードの作成方法
各メソッドのテストコードを作成します.
テストコードを作成する場合は、さまざまな方法でテストコードを作成できます.@テスト: はテストを表します@ParameterizedTest:メソッドがパラメトリックテストであることを示します. @BeforeEach:テストコードを記述する前に を実行@DisplayName:テストコード説明
JUnit 5テストコードの作成方法
各メソッドのテストコードを作成します.
テストコードを作成する場合は、さまざまな方法でテストコードを作成できます.
public class CarTest {
@ParameterizedTest
@ValueSource(strings = {"one","two","three","four"})
@DisplayName("Car 객체 생성")
public void makeCar(String carName) {
assertThatCode(() -> new Car(carName))
.doesNotThrowAnyException();
}
@Test
@DisplayName("자동차 전진")
public void moveCar() {
Car car = new Car("one");
car.move(() -> true);
assertEquals(1,car.getPoisition());
}
@Test
@DisplayName("자동차 멈춤")
public void stopCar() {
Car car = new Car("one");
car.move(() -> false);
assertEquals(0,car.getPoisition());
}
}
public class CarRacingInformationTest {
List<String> carNameList;
CarRacingInformation carRacingInformation;
@BeforeEach
void setUp() {
carNameList
= Arrays.asList(new String[]{"one", "two", "three", "four"});
carRacingInformation = new CarRacingInformation();
}
@Test
@DisplayName("입력값(자동차 수,경기 횟수)이 0 이하인 경우 확인")
public void isZeroOrLess() {
assertThatThrownBy(() -> {
carRacingInformation.setCarRacingCount(-1);
}).isInstanceOf(IllegalArgumentException.class);
}
@Test
@DisplayName("경주 시도횟수가 1씩 줄어드는지")
public void checkCarRacingCount() {
carRacingInformation.setCarRacingCount(5);
carRacingInformation.minusCarRacingCount();
assertEquals(4,carRacingInformation.getCarRacingCount());
}
}
Reference
この問題について([TDD,Clear Code with JAVA]レーシングカーミッション1), 我々は、より多くの情報をここで見つけました https://velog.io/@meme2367/TDD-Clean-Code-with-JAVA-자동차-경주-미션-회고-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol