Skip to content

Instantly share code, notes, and snippets.

donchan922 donchan922

Block or report user

Report or block donchan922

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View build.gradle
dependencies {
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
View DemoControllerTest.java
class DemoControllerTest {
// Spring MVCのモック
private MockMvc mockMvc;
@BeforeEach
void setup() {
// Spring MVCのモックを設定する
this.mockMvc = MockMvcBuilders.standaloneSetup(new DemoController()).build();
View DemoController.java
@Controller
public class DemoController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public @ResponseBody String greeting() {
return "Hello World";
}
}
View env.sh
- macOS Mojave 10.14.5
- Java 8
- Spring Boot 2.1.5
- Gradle 5.4.1
- JUnit 5.3.1
- Mockito 2.23.4
View git.sh
# コピー元リポジトリ: old-repository
# コピー先リポジトリ: new-repository
# コピー元のリポジトリをクローンする
$ git clone https://github.com/donchan922/old-repository.git
$ cd old-repository
# コピー元のリポジトリのコミット履歴を確認する(コピー先ではコミット履歴は引き継がない)
$ git log --oneline
f67d177 (HEAD -> master, origin/master, origin/HEAD) third commit
View git.sh
# 事前にコピー先のリポジトリをGitHubで作成しておく
# コピー元のリポジトリをクローンする
$ git clone コピー元のリポジトリのURL
$ cd コピー元のリポジトリ
# コピー元のリポジトリのGitに関する情報を削除する
$ rm -rf .git
# コピー先のリポジトリを新規作成する
View DemoServiceTest.java
@Service
public class DemoService {
public User findById(String id) {
// ローカル変数はモック化できない!!!
DemoRepository demoRepository = new DemoRepository();
return demoRepository.findById(id);
}
}
View DemoServiceTest.java
// モック化されたクラスの検証(メソッドが呼ばれた回数とメソッドの引数が正しいこと)を行う
verify(demoRepository, times(1)).findById("001")
View DemoServiceTest.java
// モック化されたクラスの動作(メソッドの引数と戻り値)を設定する
when(demoRepository.findById("001")).thenReturn(user)
View DemoServiceTest.java
class DemoServiceTest {
// テスト対象のクラス内で呼び出すクラス(依存クラス)をモック化する
@Mock
private DemoRepository demoRepository;
// テスト対象のクラスにモックをインジェクションする
@InjectMocks
private DemoService demoService;
You can’t perform that action at this time.