忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

SilverlightでNUnitするには?

私は今まで勘違いをしていたようです。
SilverlightプロジェクトをNUnitと組み合わせられないと。
テストできないと。
しかしそうでもなかったようです。

ググっても全く情報が出てこなかったところからしてこんな勘違いをしていたのは私一人のような気もしますがメモしておきます。

まず勘違いその1
「Microsoft Visual Web Developer 2010 Expressは一つのソリューションに一つのプロジェクトだけ」
(ゆえにNUnitのテストプロジェクトも作れない!)

これは×です。
ちゃんと複数プロジェクトを持ったソリューションを作れます。
File > New > Projectときて、Solution:項目をCreate new SolutionからAdd to solutionに変更するのです。
これで既存のソリューションに新たにプロジェクトを作れます。
複数のプロジェクトを作れるのです。


勘違いその2
「Silverlightと普通の.netのランタイムは完全に違うため片方のアセンブリがもう片方を使うことはできない」
(ゆえにSilverlightのアセンブリをNUnitのアセンブリはテストできない!)

これはどうも半分正しい気がします。
経験からして上手くいかないこともあったような気がします(記憶が曖昧なのでみなさん検証してみてください)。
Silverlightが普通の.netのアセンブリを使うことは出来なかったような・・・。

で、うまくいく方法とはどういう方法かというと

NUnit(通常の.net)

↓(参照)

テスト用アセンブリ(通常の.net)

↓(参照)

テストされるアセンブリ(Silverlight)


これで出来ました。
SilverlightのコードをNUnitでテストすることができたのです。
つまりSilverlightが.netを使うのはできないけど.netがSilverlightを使うことは出来るのですね。

ただ、今これはIDEでやるとワーニングが出るのでもしかしたら正しい方法ではないのかもしれませんね。

拍手[0回]

PR