【C#】ASP.NET Core Unit Test

 

[ViewData]

should be used when data is passed from PageModel to Page.

 

[BindProperty]

should be used when data is passed from PageModel to Page and vice versa via POST/GET. This is two-way binding.

 

RazorPage

https://www.learnrazorpages.com/

 

非同期クエリ

await Messages
.OrderBy(message => message.Text)
.AsNoTracking()
.ToListAsync();

https://docs.microsoft.com/ja-jp/ef/core/querying/async

 

xunitでの単体テスト

https://docs.microsoft.com/ja-jp/dotnet/core/testing/unit-testing-with-dotnet-test

Razorプロジェクトを作成

RazorTestプロジェクトを作成

新しいプロジェクト>.Net Core > xUnitテストプロジェクト

RazorTestの参照の追加で、Razorプロジェクトを参照する。

【参考】

https://qiita.com/takutoy/items/84fa6498f0726418825d

 

Razorページでの単体テスト

https://docs.microsoft.com/ja-jp/aspnet/core/test/razor-pages-tests?view=aspnetcore-2.1

・テスト フレームワークはxUnit

・オブジェクトのモック作成フレームワークがMoq

 

 

 

xUnitインストール

NuGetパッケージ管理から下記インストール

xunit

xunit.runer.visualstudio

 

Razorページ

 

 

単体テストの基本

https://docs.microsoft.com/ja-jp/visualstudio/test/unit-test-your-code?view=vs-2017

 

テストについて

https://docs.microsoft.com/ja-jp/dotnet/standard/modern-web-apps-azure-architecture/test-asp-net-core-mvc-apps

単体テストについて(抜粋

・アクションの機能性の多くは、アクション メソッド自体の外にあるので、ルーティングが正しく機能するかどうかのテストやグローバル エラーの処理は、単体テストで効果的に行うことができない。

・同様に、モデル検証、認証、許可のフィルターなど、いかなるフィルターも単体テストできません

・単体テストする目的で、コードを改良する必要があります

・一般的には、インフラストラクチャに対して直接コード化せず、抽象化を特定し、依存関係挿入を利用し、テストするコードの抽象化にアクセスします

 

単体テスト WebAPI

https://docs.microsoft.com/ja-jp/aspnet/web-api/overview/testing-and-debugging/unit-testing-with-aspnet-web-api

 

https://docs.microsoft.com/ja-jp/aspnet/web-api/overview/testing-and-debugging/mocking-entity-framework-when-unit-testing-aspnet-web-api-2

 

TTD

Test Driven Development

 

 

razorページの単体テスト

https://docs.microsoft.com/ja-jp/aspnet/core/test/razor-pages-tests?view=aspnetcore-2.1

 

Leave a Reply