Skip to content

Commit

Permalink
コメントアウトの挿入を行いました。
Browse files Browse the repository at this point in the history
  • Loading branch information
Shiryu-go committed Nov 10, 2023
1 parent d18a929 commit 929fe1d
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,47 @@
class TestToDoListController {

@Autowired
/*
参考URL : https://spring.pleiades.io/guides/gs/testing-web/
SpringのMVCモデル用のテスト用クラスの依存性解決。
実際のHTTPリクエストの代わりに、シミュレーションを行なってくれる。
*/
MockMvc mockMvc;


@MockBean
/*
Beanの置き換え処理を行なってくれるアノテーション。
*/
ToDoListService toDoListService;

@Autowired
/*
JSON型の文字列を、Javaクラスインスタンスの所持する変数に置き換えてくれるクラス。
依存性の自動注入を行なっている。
*/
ObjectMapper objectMapper;

@Test
void test_getTodoList()throws Exception{
/*
Mockの動作定義処理に必要な前処理工程
*/

List<ToDo> list = new ArrayList<>();
ToDo todo1 = new ToDo(1,1,"白菜","説明を入力",false,"2023-11-07");
ToDo todo2 = new ToDo(1,2,"にんにく","説明を入力",false,"2023-11-07");
list.add(todo1);
list.add(todo2);
ToDoList toDoList = new ToDoList(1,"今日の買い物リスト",list);
/*
Mockの動作定義処理
*/
doReturn(toDoList).when(toDoListService).findAll();

/*
MockMVCによるHTTPリクエストのシミュレーション
*/
String responseBody = mockMvc.perform(
get("/")
)
Expand All @@ -50,6 +74,9 @@ void test_getTodoList()throws Exception{
.andReturn().getResponse().getContentAsString(StandardCharsets.UTF_8);
String json = objectMapper.writerWithDefaultPrettyPrinter()
.writeValueAsString(objectMapper.readTree(responseBody));
/*
レスポンスボディのログ出力
*/
System.out.println(json);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,29 @@

import static org.assertj.core.api.Assertions.assertThat;

/*
データベースのテストを行うための宣言
*/
@JdbcTest
/*
組み込みデータベースに対して、Sqlの実行を行なっている。
このテストクラスでは、このSQlの処理を行なったデータベースに対してアクセスを行う。
*/
@Sql("TestTodoListRepository.sql")
public class TestTodoListRepository {
/*
今回はjdbcTestを使用します。
*/
@Autowired
JdbcTemplate jdbecTemplate;

ToDoListRepository toDoListRepository;

@BeforeEach
void setUp(){
/*
jdbcTemplateの使用準備
*/
toDoListRepository = new ToDoListRepository(jdbecTemplate);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,38 @@

@ExtendWith(MockitoExtension.class)
public class TestToDoLiseService {
/*
Mockを注入するためのアノテーション。
これを仕様することで、Serviceクラスの依存性を自動的に解決してくれる。
*/
@InjectMocks
ToDoListService toDoListService;
/*
InjectMocksに対して注入するMockを定義している。
@Mock自体はSpringの機能ではなく、JUnit+MockItの機能
基本的に、Springテストを行うよりも、POJOとして処理をを行なった方がテストの実行時間が早い。
*/
@Mock
ToDoListRepository toDoListRepository;

@Test
void test_findAll(){
/*
RepositoryのMockの動作制御のための前処理
*/
List<ToDo> list = new ArrayList<>();
ToDo todo1 = new ToDo(1,1,"白菜","説明を入力",false,"2023-11-07");
ToDo todo2 = new ToDo(1,2,"にんにく","説明を入力",false,"2023-11-07");
list.add(todo1);
list.add(todo2);
/*
Mockの動作定義
*/
doReturn(list).when(toDoListRepository).findAll();
ToDoList toDoList1 = toDoListService.findAll();

/*
Repostitoryから取得したデータの加工が正しいかどうかを確認している
*/
assertThat(toDoList1.toDo().get(0).ToDo_Title()).isEqualTo("白菜");
}
}

0 comments on commit 929fe1d

Please sign in to comment.