UWPでユニットテスト

公開日: : Blog, Microsoft , , ,

ユニバーサルWindowsのアプリケーションプロジェクトおよびクラスライブラリプロジェクトのユニットテストを行う際にはユニバーサルWindowsのテストプロジェクトを使用する必要がある。

uwput

なお、ユニバーサルWindowsから参照できるPCLプロジェクトの場合であれば、従来のユニットテストプロジェクトが利用できる。

ちょいメモ。

名前空間が異なる

  • 通常のユニットテスト
    Microsoft.VisualStudio.TestTools.UnitTesting名前空間

  • UWP用のユニットテスト
    Microsoft.VisualStudio.TestPlatform.UnitTestFramework名前空間

ExpectedExceptionが使えない

変わりにAssert.ThrowsExceptionを使用できる。
ちなみに、MSDNマガジンによればExpectedExceptionではなくAssert.ThrowsExceptionを使う方向に進んでいるらしい。

Moqが使えない

MicrosoftからSimpleStubsが提供されているのでNuGetする。
チュートリアルある。

テスト対象プロジェクトを参照してテストプロジェクトをビルドすると、テスト対象のプロジェクト内のインターフェースを走査してスタブクラスを自動生成してくれる。(SimpleStubs.generated.cs)
ただし、手動でプロジェクトに追加しなければ使えない。自動生成されたスタブはテストプロジェクトのPropertiesフォルダに生成される。
スタブクラスはInterfaceに定義されたイベントデリゲートに自分のインスタンスを渡そうとするので、極力EventHandlerを使ったほうが良さげ。
あと、outキーワードは自動生成時に解釈してくれないようなので、ビルドエラーが起きるスタブクラスが生成されてしまう。

関連記事

no image

Xamarin.Android フルスクリーン

自分用メモです。

記事を読む

【WPF/XAML】テキストボックスをテキストエリアにする

XAMLのTextBoxをHTMLのTextAreaのように表示・動作させる方法 <

記事を読む

Xamarin.Forms + Visual Studio Team Services ビルドタスクで自動バージョンアップ

Visual Studio Team Services で Xamarin.Forms の継続的デリ

記事を読む

no image

YomiganaWPFTextBox

こんにちは。 WPFでテキストボックスに入力した内容をカナ変換する方法について今日は掲載します

記事を読む

no image

‘System.Windows.Navigation.BaseUriHelper’ のタイプ初期化子が例外をスローしました。

作成した.NETアプリケーション(WPF)が起動しない。 今回は構成ファイル(app.config)

記事を読む

no image

【VB.NET】async および await キーワードの使用

.NET Framework4.5(C#5.0, VB11.0)の新機能 Async/Awai

記事を読む

no image

Windows 10 IoT Core の 製品化メモ

概念実証(Proof of concept)を終了し、製品化を行いたい場合のステップ サインア

記事を読む

no image

Microsoft.OData.Clientでフォーム認証を行う

構成 サーバー ** Azure API Apps ** ASP.NET Web API クライ

記事を読む

no image

UWPのScrollViewerでスクロール位置の同期を行うメモ

複数のScrollViewerのスクロール位置を同期したい場合、WPFではScrollChanged

記事を読む

no image

UWPとAzure Web AppsでOData

超メモ。走り書き。 Azure上にSQLデータベースコードファーストなAPIをODataで作成する。

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑