質問するログイン新規登録

質問編集履歴

29

2020/07/20 09:17

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -9,8 +9,9 @@
9
9
 
10
10
  ※現在コントローラーではコンストラクタで、通常時は通常のリポジトリ、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
11
11
 
12
- → [追記] 任意のトランザクションを設定しても、ユニットテストには影響はないみたいですが、ユニットテストでDbContext操作するのは良くない気がします。
12
+ → [追記] 任意のトランザクションを設定しても、ユニットテストには影響はないみたいですが、ユニットテストで任意のトランザクション発行のために、DbContext操作するのは良くない気がします。
13
13
 
14
+
14
15
  [②、③は解決済み]
15
16
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
16
17
  → Authorizeは影響がなかったため問題ありませんでした。

28

2020/07/20 09:17

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -6,9 +6,11 @@
6
6
 
7
7
  ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があります。
8
8
  テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
9
+
9
10
  ※現在コントローラーではコンストラクタで、通常時は通常のリポジトリ、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
10
- → [追記] 任意のトランザクションを設定しても、ユニットテストには影響はないみたいですが、
11
11
 
12
+ → [追記] 任意のトランザクションを設定しても、ユニットテストには影響はないみたいですが、ユニットテストでDbContextは操作するのは良くない気がします。
13
+
12
14
  [②、③は解決済み]
13
15
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
14
16
  → Authorizeは影響がなかったため問題ありませんでした。
@@ -16,6 +18,7 @@
16
18
  ③ テストのデバッグモードでreturn Json()の前のResponseStatusCodeがユニットテスト時にエラーする
17
19
  → MoqでHttpContextを作成し、対応した。
18
20
 
21
+
19
22
  ご教授お願いします。
20
23
 
21
24
  (参考URL)

27

2020/07/20 09:16

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -7,12 +7,15 @@
7
7
  ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があります。
8
8
  テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
9
9
  ※現在コントローラーではコンストラクタで、通常時は通常のリポジトリ、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
10
+ → [追記] 任意のトランザクションを設定しても、ユニットテストには影響はないみたいですが、
10
11
 
12
+ [②、③は解決済み]
11
13
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
12
- [追記、解決済み]Authorizeは影響がなかったため問題ありませんでした。
14
+ Authorizeは影響がなかったため問題ありませんでした。
13
15
 
14
- [追記、解決済み]テストのデバッグモードでreturn Json()の前のResponseStatusCodeがユニットテスト時にエラーする
16
+ ③ テストのデバッグモードでreturn Json()の前のResponseStatusCodeがユニットテスト時にエラーする
15
17
  → MoqでHttpContextを作成し、対応した。
18
+
16
19
  ご教授お願いします。
17
20
 
18
21
  (参考URL)

26

2020/07/20 09:14

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -9,11 +9,10 @@
9
9
  ※現在コントローラーではコンストラクタで、通常時は通常のリポジトリ、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
10
10
 
11
11
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
12
- → [追記]影響がなかったため問題ありませんでした。
12
+ → [追記、解決済みAuthorizeは影響がなかったため問題ありませんでした。
13
13
 
14
- ③ [追記]テストのデバッグモードでreturn Json()の前のResponseStatusCodeがユニットテスト時にエラーする
14
+ ③ [追記、解決済み]テストのデバッグモードでreturn Json()の前のResponseStatusCodeがユニットテスト時にエラーする
15
-
15
+ → MoqでHttpContextを作成し、対応した。
16
-
17
16
  ご教授お願いします。
18
17
 
19
18
  (参考URL)

25

2020/07/20 09:11

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -11,7 +11,7 @@
11
11
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
12
12
  → [追記]影響がなかったため問題ありませんでした。
13
13
 
14
- ③ [追記]return Json()の前のResponseStatusCodeがユニットテスト時にエラーする
14
+ ③ [追記]テストのデバッグモードでreturn Json()の前のResponseStatusCodeがユニットテスト時にエラーする
15
15
 
16
16
 
17
17
  ご教授お願いします。

24

2020/07/20 04:09

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,11 @@
9
9
  ※現在コントローラーではコンストラクタで、通常時は通常のリポジトリ、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
10
10
 
11
11
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
12
+ → [追記]影響がなかったため問題ありませんでした。
12
13
 
14
+ ③ [追記]return Json()の前のResponseStatusCodeがユニットテスト時にエラーする
15
+
16
+
13
17
  ご教授お願いします。
14
18
 
15
19
  (参考URL)
@@ -51,6 +55,10 @@
51
55
  await unitOfWork.DepartmentRepository.SortAsync();// SQLで直接順序変更している
52
56
  dbContextTransaction.Commit();
53
57
  }
58
+
59
+ // OkとBadRequestを使い分けしている
60
+ Response.StatusCode = (int)HttpStatusCode.OK;
61
+ return Json(new { message : “success” });
54
62
  */
55
63
  }
56
64
  }

23

2020/07/20 04:08

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があります。
8
8
  テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
9
- ※現在コントローラーではコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
9
+ ※現在コントローラーではコンストラクタで、通常時は通常のリポジトリ、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
10
10
 
11
11
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
12
12
 

22

2020/07/19 14:17

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,8 @@
2
2
  ASP.NET MVC5でユニットテストをできるようにプログラムを変更してるのですが、わからなくて困っています。
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
+ 下記該当コードに記載している部分ですが、
6
+
5
7
  ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があります。
6
8
  テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
7
9
  ※現在コントローラーではコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。

21

2020/07/19 14:15

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,8 @@
2
2
  ASP.NET MVC5でユニットテストをできるようにプログラムを変更してるのですが、わからなくて困っています。
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
- ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更る必要があるが、どのようにすればよいか
5
+ ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があります。
6
+ テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
6
7
  ※現在コントローラーではコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
7
8
 
8
9
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。

20

2020/07/19 14:14

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
5
  ① 任意でTransactionが必要な個所や、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
6
- ※現在コントローラーコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
6
+ ※現在コントローラーではコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
7
7
 
8
8
  ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
9
9
 

19

2020/07/19 12:07

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- ASP.NET MVC5でユニットテストについてわからなくて困っています。
1
+ ASP.NET MVC5でユニットテストの作り方についてわからなくて困っています。
body CHANGED
File without changes

18

2020/07/19 12:06

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- ASP.NET MVC5でユニットテストをできるようプログラムを変更しるのですが、わからなくて困っています。
1
+ ASP.NET MVC5でユニットテストについてわからなくて困っています。
body CHANGED
File without changes

17

修正

2020/07/19 12:04

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -54,7 +54,7 @@
54
54
  ```
55
55
 
56
56
  ```C#
57
- // 変更途中のUnitOfWorkクラス
57
+ // メインプロジェクトのUnitOfWorkクラス
58
58
  public class UnitOfWork : IDisposable {
59
59
  private readonly ApplicationDbContext context = new ApplicationDbContext();
60
60
  private IDepartmentRepository departmentRepository;

16

修正

2020/07/19 09:45

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,7 @@
5
5
  ① 任意でTransactionが必要な個所や、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
6
6
  ※現在コントローラーのコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
7
7
 
8
- ② ユニットテストでは [Authorize] をどのように認証させればよいか。
8
+ ② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
9
9
 
10
10
  ご教授お願いします。
11
11
 

15

2020/07/19 09:44

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -65,8 +65,8 @@
65
65
  }
66
66
 
67
67
  // Test project use
68
- public UnitOfWork(IDepartmentRepository departmentRepository) {
68
+ public UnitOfWork(IDepartmentRepository dummyDepartmentRepository) {
69
- this.departmentRepository = departmentRepository;
69
+ this.departmentRepository = dummyDepartmentRepository;
70
70
  }
71
71
 
72
72
  public ApplicationDbContext ApplicationDbContext {

14

2020/07/19 09:23

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
5
  ① 任意でTransactionが必要な個所や、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
6
- ※現在コントローラーのコンストラクタで、テスト時はダミーリポジトリに切替できるようにしてます。
6
+ ※現在コントローラーのコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
7
7
 
8
8
  ② ユニットテストでは [Authorize] をどのように認証させればよいか。
9
9
 

13

2020/07/19 09:05

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
5
  ① 任意でTransactionが必要な個所や、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
6
- Transaction以外のInsertなどは、参考URLのCreating Unit Testable Applications in ASP.NET MVC - A Beginner's Tutorialの手順で、コントローラーのコンストラクタで切できるようにしてます。
6
+ 現在コントローラーのコンストラクタで、テスト時はダミーリポジトリに切替できるようにしてます。
7
7
 
8
8
  ② ユニットテストでは [Authorize] をどのように認証させればよいか。
9
9
 

12

2020/07/19 09:04

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -114,7 +114,7 @@
114
114
  for (int i = 0; i < 5; i++) {
115
115
  Department department = new Department() {
116
116
  Id = i + 1,
117
- DepartmentName = "TEST" + (i + 1),
117
+ DepartmentName = "TEST" + (i + 1)
118
118
  };
119
119
 
120
120
  departments.Add(department);

11

2020/07/19 09:02

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -131,7 +131,7 @@
131
131
  [TestMethod]
132
132
  public async Task Create() {
133
133
  // Arrange
134
- Department department = new Department { Id = 6, DepartmentName = "TEST6", IsDeleted = false, RowVersion = new Byte[8] { 0, 0, 0, 0, 0, 0, 0, 1 } };
134
+ Department department = new Department { Id = 6, DepartmentName = "TEST6" };
135
135
 
136
136
  // Act
137
137
  await controller.Create(department);

10

2020/07/19 09:02

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
5
  ① 任意でTransactionが必要な個所や、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
6
- ※Transaction以外のInsertなどは、参考URLの手順で、コントローラーのコンストラクタで切り替えできるようにしてます。
6
+ ※Transaction以外のInsertなどは、参考URLのCreating Unit Testable Applications in ASP.NET MVC - A Beginner's Tutorialの手順で、コントローラーのコンストラクタで切り替えできるようにしてます。
7
7
 
8
8
  ② ユニットテストでは [Authorize] をどのように認証させればよいか。
9
9
 

9

2020/07/19 08:59

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
  ASP.NET MVC5でユニットテストをできるようにプログラムを変更してるのですが、わからなくて困っています。
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
- ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
5
+ ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
6
6
  ※Transaction以外のInsertなどは、参考URLの手順で、コントローラーのコンストラクタで切り替えできるようにしてます。
7
7
 
8
8
  ② ユニットテストでは [Authorize] をどのように認証させればよいか。

8

2020/07/19 08:58

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
  ASP.NET MVC5でユニットテストをできるようにプログラムを変更してるのですが、わからなくて困っています。
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
- ① 任意でTransactionが必要な個所があるため、テスト時はcontextを利用しないように、UnitOfWorkクラスを変更する必要があるのかと考えていますが、どのようにすればよいか。
5
+ ① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
6
6
  ※Transaction以外のInsertなどは、参考URLの手順で、コントローラーのコンストラクタで切り替えできるようにしてます。
7
7
 
8
8
  ② ユニットテストでは [Authorize] をどのように認証させればよいか。

7

修正

2020/07/19 08:57

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,7 @@
5
5
  ① 任意でTransactionが必要な個所があるため、テスト時はcontextを利用しないように、UnitOfWorkクラスを変更する必要があるのかと考えていますが、どのようにすればよいか。
6
6
  ※Transaction以外のInsertなどは、参考URLの手順で、コントローラーのコンストラクタで切り替えできるようにしてます。
7
7
 
8
- ② ユニットテスト実装時に DepartmentsControllerTest[Authorize] をどのように認証させればよいか。
8
+ ② ユニットテストでは [Authorize] をどのように認証させればよいか。
9
9
 
10
10
  ご教授お願いします。
11
11
 

6

修正

2020/07/19 08:47

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -45,8 +45,7 @@
45
45
  using (var dbContextTransaction = unitOfWork.ApplicationDbContext.Database.BeginTransaction()) {
46
46
  await unitOfWork.DepartmentRepository.InsertAsync(department);
47
47
  await unitOfWork.DepartmentRepository.SaveAsync();
48
- await unitOfWork.DepartmentRepository.EtcAsync();
49
- await unitOfWork.DepartmentRepository.SaveAsync();
48
+ await unitOfWork.DepartmentRepository.SortAsync();// SQLで直接順序変更している
50
49
  dbContextTransaction.Commit();
51
50
  }
52
51
  */

5

修正

2020/07/19 08:44

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,7 @@
3
3
  リポジトリとUnitOfWorkパターンを使用しています。
4
4
 
5
5
  ① 任意でTransactionが必要な個所があるため、テスト時はcontextを利用しないように、UnitOfWorkクラスを変更する必要があるのかと考えていますが、どのようにすればよいか。
6
+ ※Transaction以外のInsertなどは、参考URLの手順で、コントローラーのコンストラクタで切り替えできるようにしてます。
6
7
 
7
8
  ② ユニットテスト実装時に DepartmentsControllerTestで、[Authorize] をどのように認証させればよいか。
8
9
 

4

修正

2020/07/19 08:41

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
  ASP.NET MVC5でユニットテストをできるようにプログラムを変更してるのですが、わからなくて困っています。
3
+ リポジトリとUnitOfWorkパターンを使用しています。
3
4
 
4
5
  ① 任意でTransactionが必要な個所があるため、テスト時はcontextを利用しないように、UnitOfWorkクラスを変更する必要があるのかと考えていますが、どのようにすればよいか。
5
6
 

3

修正

2020/07/19 08:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -9,8 +9,7 @@
9
9
 
10
10
  (参考URL)
11
11
  ・ASP.NET MVC アプリケーションでのリポジトリと作業単位のパターンの実装
12
- [https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application]
13
- (https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application)
12
+ [https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application](https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application)
14
13
 
15
14
  ・ASP.NET MVC アプリケーションの単体テストを作成する (C#)
16
15
  [https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions-1/unit-testing/creating-unit-tests-for-asp-net-mvc-applications-cs](https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions-1/unit-testing/creating-unit-tests-for-asp-net-mvc-applications-cs)

2

修正

2020/07/19 08:37

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -8,6 +8,10 @@
8
8
  ご教授お願いします。
9
9
 
10
10
  (参考URL)
11
+ ・ASP.NET MVC アプリケーションでのリポジトリと作業単位のパターンの実装
12
+ [https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application]
13
+ (https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application)
14
+
11
15
  ・ASP.NET MVC アプリケーションの単体テストを作成する (C#)
12
16
  [https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions-1/unit-testing/creating-unit-tests-for-asp-net-mvc-applications-cs](https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions-1/unit-testing/creating-unit-tests-for-asp-net-mvc-applications-cs)
13
17
 

1

修正

2020/07/19 08:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -9,10 +9,10 @@
9
9
 
10
10
  (参考URL)
11
11
  ・ASP.NET MVC アプリケーションの単体テストを作成する (C#)
12
- https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions-1/unit-testing/creating-unit-tests-for-asp-net-mvc-applications-cs
12
+ [https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions-1/unit-testing/creating-unit-tests-for-asp-net-mvc-applications-cs](https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions-1/unit-testing/creating-unit-tests-for-asp-net-mvc-applications-cs)
13
13
 
14
14
  ・Creating Unit Testable Applications in ASP.NET MVC - A Beginner's Tutorial
15
- https://www.codeproject.com/Articles/579035/Creating-Unit-Testable-Applications-in-ASP-NET-MVC
15
+ [https://www.codeproject.com/Articles/579035/Creating-Unit-Testable-Applications-in-ASP-NET-MVC](https://www.codeproject.com/Articles/579035/Creating-Unit-Testable-Applications-in-ASP-NET-MVC)
16
16
 
17
17
 
18
18
  ### 該当のソースコード