sprocketholer
sprocketholer

Reputation: 101

Unit testing NancyFX API - ConfigurableBootstrapper Exception

Im trying to get nunit test setup for my Nancy API. I have a very simpLe end point:

this.Get["/"] = _ =>
       {
           return Negotiate
               .WithModel(" API is running")
               .WithStatusCode(HttpStatusCode.OK);
       };

When I try to test it with this test:

this._browser = new Browser(with => {
           with.Module(new IndexModule());
       });

       var result = this._browser.Get("/", with => { with.HttpRequest(); });

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

I get ConfigurableBootstrapper Exception and with message of "OhNoes".

If I change the return to:

return "API is running";

It works. I think I might be missing something in the test setup to allow the negotiated return.

Does anyone have an idea of what I'm doing wrong? Thanks.

Upvotes: 0

Views: 253

Answers (1)

deepcode.co.uk
deepcode.co.uk

Reputation: 1464

There will be a clue in the "Oh Noes" exception - probably something like;

Nancy.ViewEngines.ViewNotFoundException

Try adding

with.Header("Accept", "application/json")

or similar to your request setup. By default I think the testing browser requests HTML content, which Negotiate will want to render in a view. See here https://github.com/NancyFx/Nancy/wiki/Content-Negotiation under the section "Default response processors"

Upvotes: 1

Related Questions