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キーワードは自動生成時に解釈してくれないようなので、ビルドエラーが起きるスタブクラスが生成されてしまう。

関連記事

Xamarin iOS, Android での位置情報、Bluetoothの有効化メモ

OSが勝手に出してくれたりくれなかったりのところを整理するためのメモ 諸事情によりサンプルはXama

記事を読む

no image

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

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

記事を読む

Visual Studio 2015 Update1 の Xamarin.Forms でインテリセンスを使いたい

Xamarinを触り始めました。 チュートリアルということで、Xamarin.Forms Quick

記事を読む

PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath setting

Visual Studio Code へ PHP IntelliSense 拡張をインストールし

記事を読む

【XAML】フォントサイズを自動縮小して全体を表示

Viewboxを親にするだけ。 拡大・縮小方法はStretch, StretchDirec

記事を読む

Xamarin.Forms出力バイナリのメモ

iOS -> .ipa, Android -> .apk ipaファイル作成方法 ソリュー

記事を読む

【WPF/XAML】チェックボックスのデザイン変更

[xml] <Window x:Class="Sample"

記事を読む

no image

Windows 10 IoT 系の概要、エディション、入手方法などを一度整理

Windows 10 IoT にここ最近振り回されているので、ここまで解釈した内容にて、まとメモ 正

記事を読む

【.NET Framework 4.6.1】MultiLineなTextBoxでCtrl+Aが使えない問題が解決(今更)

WinForms.NETなアプリケーションの標準TextBoxで、Multiline=Trueに設定

記事を読む

no image

シングルボードコンピュータの動作温度について

Raspberry Pi 3 で屋外用のIoT機器を作成できないかと調べていたが、どうやらRaspb

記事を読む

Message

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

PAGE TOP ↑