Jasmine 通过ConfigureRouter测试路由的添加。我们如何看待导航模型?

Jasmine 通过ConfigureRouter测试路由的添加。我们如何看待导航模型?,jasmine,aurelia,Jasmine,Aurelia,在下面的测试中,router.navigation属性的长度为零。我们如何访问我们的航线NavModel import { Container } from "aurelia-framework"; import { RouterConfiguration, Router } from "aurelia-router"; describe("the RouterConfiguration", function () { let container: Container = new C

在下面的测试中,
router.navigation
属性的长度为零。我们如何访问我们的航线
NavModel

import { Container } from "aurelia-framework";
import { RouterConfiguration, Router } from "aurelia-router";

describe("the RouterConfiguration", function () {

    let container: Container = new Container();
    let routerConfiguration: RouterConfiguration = container.get(RouterConfiguration);
    let router: Router = container.get(Router);

    it("adds a route with a NavModel", function (done) {

        routerConfiguration.mapRoute({
            moduleId: "test",
            name: "test",
            navigationStrategy: (instruction) => {
                instruction.config.moduleId = "something";
            },
            route: "test",
        });

        let configureRouter: Promise<void> = router.configure(routerConfiguration);

        configureRouter.then(function () {

            router.baseUrl = "foobar";
            router.refreshNavigation();

            expect(router.isConfigured).toBe(true);
            expect(router.routes.length).toBe(1);
            expect(router.navigation.length).toBe(1); // fails
            expect(router.hasRoute("test")).toBe(true);
            done();
        });
    });
});

我认为您只需要将
nav:true
属性添加到您在
mapproute
中映射的路由

routerConfiguration.mapRoute({
    moduleId: "test",
    name: "test",
    navigationStrategy: (instruction) => {
      instruction.config.moduleId = "something";
    },
    route: "test",
    nav: true // I want the route to be included in the nav model...
  });
routerConfiguration.mapRoute({
    moduleId: "test",
    name: "test",
    navigationStrategy: (instruction) => {
      instruction.config.moduleId = "something";
    },
    route: "test",
    nav: true // I want the route to be included in the nav model...
  });