Archive

Archive for 2014年5月

メモ:Project SienaのWorkshopスライド

しばらく最新情報を追いかけていなかったので、Project Sienaというものの存在すら知らなかったのですが、赤間さん作成の「Visual Studio 2013 Workshop #391」と言うドキュメントがダウンロード可能になっているようです。

カテゴリー:未分類

HttpContextをUnitTestで使う

UnitTestだとHttpContextが空になるんだけれど、UnitTest中にRequest.Formってどうにか参照できないの?って聞かれました。

サービスクラスの中でHttpContextやHttpRequestを直に参照しないような設計をすればいいんですが、今からだと難しいらしいので、昔の記憶をほじくり返してみる。そういえばHttpSimulatorってのがありましたね。前はC#のソースからビルドしたような気がするけれど、今だとDLLがNugetで公開されているんですね。

HttpSimulator 1.0.0<https://www.nuget.org/packages/HttpSimulator/>

テストプロジェクトにNugetでImstall-Package HttpSimulatorをしたら、HttpSimulatorクラスを作って、Formの値やSessionの値を設定して、SimulateRequestを呼び出してあげましょう。SimulateRequestした後ならHttpContext.CurrentからFormやRequestにアクセスすれば何事のなく利用できます。

<TestClass()> 
Public Class Class1Test
<TestMethod()>
Public Sub RequestFormのxとyの値を足した値が取得できること()
Using simulator = New HttpSimulator().
SetFormVariable("x", "1").
SetFormVariable("y", "2").
SimulateRequest()

Dim target = New Class1()
Assert.AreEqual(3D, target.FormCalc())
End Using
End Sub
End Class
Public Class Class1
Public Function FormCalc() As Decimal
Return Integer.Parse(HttpContext.Current.Request.Form("x")) +
Integer.Parse(HttpContext.Current.Request.Form("y"))
End Function
End Class

カテゴリー:ASP.NET, Visual Basic

kproj と KRuntimeってなに??

ASP.NETのソースコードがGitHubで公開されたというので、とりあえずさらっと眺めようかとソースを取り寄せてVisual Studioでソリューションファイルを読み込んでみると、各プロジェクトは 「kproj」 という拡張子を持つプロジェクトファイルで構成されているようでVisual Studioで読み込むことができませんでした。

kprojってなんだろう。

ASP.NET vNext HomeをみるとGetting StartedにK Version Managerへのリンクが貼られています。どうもASP.NET vNextの開発はK Runtimeという開発時と実行時のランタイムの溝を埋める環境で開発されているようです。kprojはこのK Runtimeで動作するプロジェクトを作成するためのプロジェクトファイルみたいです。

でもって、今のところkprojを理解するためのVisual Studioの拡張機能はなさそう。そのうち出てくるんだろうけれど、ソースを見たいならテキストエディターやらで確認するしか無いのかな?

カテゴリー:ASP.NET タグ: