質問編集履歴
29
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
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
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
|
-
→
|
14
|
+
→ Authorizeは影響がなかったため問題ありませんでした。
|
13
15
|
|
14
|
-
③
|
16
|
+
③ テストのデバッグモードでreturn Json()の前のResponseStatusCodeがユニットテスト時にエラーする
|
15
17
|
→ MoqでHttpContextを作成し、対応した。
|
18
|
+
|
16
19
|
ご教授お願いします。
|
17
20
|
|
18
21
|
(参考URL)
|
26
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
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
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
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
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
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
ASP.NET MVC5でユニットテストをできるようにプログラムを変更してるのですが、わからなくて困っています。
|
3
3
|
リポジトリとUnitOfWorkパターンを使用しています。
|
4
4
|
|
5
|
-
① 任意でTransactionが必要な個所
|
5
|
+
① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があります。
|
6
|
+
テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
|
6
7
|
※現在コントローラーではコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
|
7
8
|
|
8
9
|
② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
|
20
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
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ASP.NET MVC5でユニットテストについてわからなくて困っています。
|
1
|
+
ASP.NET MVC5でユニットテストの作り方についてわからなくて困っています。
|
body
CHANGED
File without changes
|
18
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ASP.NET MVC5でユニットテスト
|
1
|
+
ASP.NET MVC5でユニットテストについてわからなくて困っています。
|
body
CHANGED
File without changes
|
17
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -54,7 +54,7 @@
|
|
54
54
|
```
|
55
55
|
|
56
56
|
```C#
|
57
|
-
//
|
57
|
+
// メインプロジェクトのUnitOfWorkクラス
|
58
58
|
public class UnitOfWork : IDisposable {
|
59
59
|
private readonly ApplicationDbContext context = new ApplicationDbContext();
|
60
60
|
private IDepartmentRepository departmentRepository;
|
16
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
① 任意でTransactionが必要な個所や、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
|
6
6
|
※現在コントローラーのコンストラクタで、ユニットテスト時はダミーリポジトリに切替できるようにしてます。
|
7
7
|
|
8
|
-
② ユニットテストでは
|
8
|
+
② ユニットテストでは、コントローラーに設定している[Authorize] をどのように認証させればよいか。
|
9
9
|
|
10
10
|
ご教授お願いします。
|
11
11
|
|
15
title
CHANGED
File without changes
|
body
CHANGED
@@ -65,8 +65,8 @@
|
|
65
65
|
}
|
66
66
|
|
67
67
|
// Test project use
|
68
|
-
public UnitOfWork(IDepartmentRepository
|
68
|
+
public UnitOfWork(IDepartmentRepository dummyDepartmentRepository) {
|
69
|
-
this.departmentRepository =
|
69
|
+
this.departmentRepository = dummyDepartmentRepository;
|
70
70
|
}
|
71
71
|
|
72
72
|
public ApplicationDbContext ApplicationDbContext {
|
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
|
|
13
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
|
|
12
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
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"
|
134
|
+
Department department = new Department { Id = 6, DepartmentName = "TEST6" };
|
135
135
|
|
136
136
|
// Act
|
137
137
|
await controller.Create(department);
|
10
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
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
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
ASP.NET MVC5でユニットテストをできるようにプログラムを変更してるのですが、わからなくて困っています。
|
3
3
|
リポジトリとUnitOfWorkパターンを使用しています。
|
4
4
|
|
5
|
-
① 任意でTransactionが必要な個所があるため、テスト時はcontextを
|
5
|
+
① 任意でTransactionが必要な個所、または直接SQLを使用している箇所があるため、テスト時はcontextを操作しないように変更する必要があるが、どのようにすればよいか。
|
6
6
|
※Transaction以外のInsertなどは、参考URLの手順で、コントローラーのコンストラクタで切り替えできるようにしてます。
|
7
7
|
|
8
8
|
② ユニットテストでは [Authorize] をどのように認証させればよいか。
|
7
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
① 任意でTransactionが必要な個所があるため、テスト時はcontextを利用しないように、UnitOfWorkクラスを変更する必要があるのかと考えていますが、どのようにすればよいか。
|
6
6
|
※Transaction以外のInsertなどは、参考URLの手順で、コントローラーのコンストラクタで切り替えできるようにしてます。
|
7
7
|
|
8
|
-
② ユニットテスト
|
8
|
+
② ユニットテストでは [Authorize] をどのように認証させればよいか。
|
9
9
|
|
10
10
|
ご教授お願いします。
|
11
11
|
|
6
修正
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.
|
48
|
+
await unitOfWork.DepartmentRepository.SortAsync();// SQLで直接順序変更している
|
50
49
|
dbContextTransaction.Commit();
|
51
50
|
}
|
52
51
|
*/
|
5
修正
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
修正
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
修正
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
修正
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
修正
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
|
### 該当のソースコード
|