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

Raspberry Pi 3 Model B 各OS、動画プレイヤーでの再生比較

ベンチマークではなく、ただ感想をメモしただけ。 Windows 10 IoT Core C#

記事を読む

App Service Linux (Docker) 環境で、コンテナ内の Nginx のログをAzureポータルから確認

何も設定しない場合はSSHでアクセスしてログ参照する 通常はコンテナ内の /var/log/ngi

記事を読む

【iPhoneアプリ】リリース手順〜審査完了後〜

前回からの続き。 中身が無いアプリだったのでリジェクトされると思いきや 審査に通ってしま

記事を読む

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

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

記事を読む

【ストアアプリ】バッジ通知(BadgeUpdateManager)について

こんにちは。 前回のタイル通知にバッジ通知を追加しました。 以下を参考に。 https

記事を読む

no image

【iPhoneアプリ】背景画像を設定する

ImageResourceにBg.pngという背景画像を登録しておく 背景を設定するタイミング

記事を読む

no image

KeyboardNavigation以外でFocusVisualStyleを表示させる

WPFです。 結論としてはリフレクションで無理やりやれなくはなさそうという感じ。 元ネタはMSDN

記事を読む

【iPhoneアプリ】自分のiPhoneへインストールする方法

自作のiPhoneアプリを自分のiPhone上で動作させたい場合の手順をメモ ・iOS Dev

記事を読む

Hardware assisted virtualization and data execution protection must be enabled in the BIOS

MacBook Pro + Bootcamp + Windows10 で Docker for Wi

記事を読む

【ストアアプリ】トースト通知の基本

Windowsストアアプリ開発での基本。 トースト通知について投稿します。 Pack

記事を読む

Message

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

PAGE TOP ↑