.NET Standard のライブラリのテストにNunit 3.x を使ってみた

Console.WriteLine は正義。「ステップができない」「あんなの飾りです! 偉い人にはそれが分からんのです!」

参考サイト:https://docs.microsoft.com/ja-jp/dotnet/core/testing/unit-testing-with-nunit

上記のところのネタは .NET Core なのでGUIでもテストできる、つか、テストエクスプローラからいけるんだけれども、.NET Standard を対象にしたNUnit3.xの実行時はテストDLLの作成先パスの問題で動作失敗するので、テストエクスプローラでの実行、デバッグは不安定で動かないことままあり。まぁパス変更してそこに対してロードできるようにすればいいんだろうけど、いろいろごにょるくらいならシンプルでサイクル回せるつくりの方が楽だって思うのよね。

だって、CUIでできるんだもん。GUIなんて飾りですw

まずはソリューションにテストプロジェクト作成。

いきなりですが、ここですでにGUI(Visual Studio)を離れますw

image

ソリューションの右クリックからコマンドプロンプト起動w

> dotnet new -i NUnit3.DotNetNew.Template

まずはテンプレを追加。

そのあと、テストプロジェクトとなるディレクトリを作成。これはmkdirでOK。

mkdirできたら、そのディレクトリにカレントを移動して

> dotnet new nunit

ここまで作ったら、いったんVisualStudioに戻って、作成したテストプロジェクト(.csproj)をソリューションに追加。

追加が正常終了したらすぐにプロジェクトをアンロード。

そのまま右クリックで、テスト用のcsprojを編集。ItemGroupのPackageReferenceを推奨バージョンにセット。

<ItemGroup>
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
  <PackageReference Include="NUnit" Version="3.9.0" />
  <PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
</ItemGroup>

編集し終わったら、プロジェクトを再読み込み。

そしてテスト対象のプロジェクトをここから参照。

> dotnet add reference <相対パスで対象のcsproj を指定>

いつもどおりにテストコードを書いたら、テストプロジェクトの右クリックからコマンドプロンプト起動

> dotnet test –logger:trx

でテスト実行。

image

image

ちゃんとレッドグリーンで結果が表示されるんだよw そこ、大事。

テスト結果は、Visual Studio のテストプロジェクトのTestResultsフォルダにあるので、そのままVisualStudioで確認できるよ。

もちろん、レッドグリーンでねv

PS.ここまで来ちゃえば、こうしてもいいと思うの。

image

これで、コマンドプロンプト移動しなくてよくなるw

image

てな感じで、かなり自動w ただ、レッドグリーンの色変えがVisualStudioの出力にはないので、寂しいけどね。

.NETCore とか .NETStandard とかで使う dotnet コマンドを動かしてみた

さよならGUI、おかえりCUI、きっとそんな風に普通に感じるのは Consoleアプリ好きでそれが自分の基本だから、きっとそうw

dotnetコマンドってのがいるの。

image

これは .NET Coreとか .NET Standardとかで使うことになるコマンド(まぁ .NETFramework でも使えるけどさw)。できることは、VisualStudio内でソリューションつくって、プロジェクト作ってといった操作をコマンドラインでできるようにしたもの。GUIだとうまくいかないことがあったりするんだけど、CUIから手順を踏めば地雷原をある程度避けられるっぽい。

場所は、「C:\Program Files\dotnet」

インストールしたときにパスに追加しておいてくれるから、そのままどこからでも起動OK。というかそうでないと困るのよ実はdotnetコマンドは動作させるソリューションやプロジェクトのパスで実行しないと想定した結果を作ってくれない

無いって人が入れたいときは、ここから → https://docs.microsoft.com/ja-jp/dotnet/core/tools/?tabs=netcore2x

いっぱいできることあるんだけど、とりあえず覚えたコマンド。

  • dotnet new ほげほげ
  • dotnet sln add ほげほげ
  • dotnet add refference ほげほげ
  • dotnet test

まぁソリューション作ってプロジェクトつくって参照させてテストして、的なひととおりの部分なんだけど、.NET Core とか .NET Standard とかは新参者?というか、ヴィジュアル系でないというか、やりたいことがGUIからではできなかったり、GUIで作ってもそれじゃ足りなかったりして後から設定変えたりとか面倒ごとを抱えたりする。なのにいてくれないと困る系なもんだから、そういうのを避けるためにこっちでやっとくと吉。

Windows PC に Android NDK を入れてみた

Android Studio さくっと入れただけ、だと NDK って入れ忘れるよねw

で、後からでも入れておかないと、

image

Visual Studio あげるたびに Xamarin さんが Not Found ってログ吐いて鬱陶しい。なので黙らせるw

image

まずは、Android Studio のメニューの Configure から SDK Manager をたちあげて、SDK Tools 選んで

image

NDK にチェックして「OK」でインストール開始。あとは頑張ってくれる。

入れ終わったら、 NDK のパスを Visual Studio の Xamarin の設定に入れて終わり。

SandCastle を Visual Studio 2017 で使ってヘルプファイル作ってみた

枯れない技術=必要とされている技術ってのは、いつ触っても新鮮。

どうして.NETFrameworkにはJavaDocな機能が標準にないんだろうね。

Helpコンパイラ入れて、SandCastleいれて、HelpBuilderいれて、xsdカスタマイズして、日本語コンテンツファイル作って、と重ねに重ねた試行と苦労、それが

https://github.com/EWSoftware/SHFB/releases

こちらからダウンロードして、インストールすると

image

ウィザード形式で楽々簡単セットアップw

そしてインストール後に、ちまっと検索すると

image

日本語コンテンツ全部入りですよ、奥さん!!

なんと、Visual Studio に入っちゃってますよ!!

image

そして、こういうプロジェクトをソリューションに追加して

image

プロジェクトのプロパティで、作りたいヘルプファイルの種類と、元となるライブラリや実行ファイルのバージョンを指定して

image

コンテンツの言語を日本語に設定して

image

 

ビルドすると

image

 

ヘルプファイルできました!なんてお手軽!

「でも、お高いんでしょう?」

「無料で差し上げます!」(どよめきと拍手)

的な。

ああ、もう、あの苦労をしなくていいんだv なんて幸せ。

まぁ、くわしくは以降、記事にできたらするw