2

パラメータを使用してモジュールをテストしようとしています(以下は、問題を解決しようとしているコードのみです)

public class StuffModule : NancyModule
{
    public StuffModule() : base("/Stuff")
    {
        Get["/All/"] = parameters =>
                       {
                           string str = parameters.one;
                           return Response.AsJson(str);
                       };
    }
}

private Browser _browser;

[SetUp]
public void SetUp()
{
    var module = new StuffModule(null);

    var mock = new Mock<IRecipeExtractor>();
    var bootstrapper = new ConfigurableBootstrapper(
            with => with.Dependency(mock.Object)
        );

    _browser = new Browser(bootstrapper);
}

[Test]
public void Can_extract_recipe_as_json()
{
    var result = _browser.Get("/Stuff/All/", with =>
    {
        with.HttpRequest();
        with.Query("one", "yes_one");
    });

    Assert.That(result.StatusCode, Is.EqualTo(HttpStatusCode.OK));
}

上記のコードを実行すると、パラメーター変数に何も取得されません。いくつかのヒント?

4

1 に答える 1

0

/profile/{username}パラメータをキャプチャするには、アクセス可能になるようなパーツの一部として宣言する必要がありparameters.usernameます。

クエリ文字列値をテストに渡しています。これはアクセス可能でRequest.Query.oneあり、値があることを確認できますRequest.Query.one.HasValue

ここでそれについてもう少し読むことができますhttps://github.com/NancyFx/Nancy/wiki/Defining-routesとここhttps://github.com/NancyFx/Nancy/wiki/Testing-your-application

于 2012-10-21T11:13:32.413 に答える