javascript - Jasmine 允许深度嵌套描述套件有多深?

标签 javascript unit-testing jasmine

我尝试以这种方式嵌套它们,并且似乎它停止在 describe("When...spec2 child", function () { 开始的级别。

我想知道 Jasmine 允许嵌套的深度是多少?还是我做错了什么?

describe("ModelSpec", function () {
  /*Initial Test Properties*/
  var Subject = require('../../lib/jasmine_examples/Model');
  var Data = require('../../lib/jasmine_examples/MockData');
  var input = new Data();
  var model = new Subject(input);//service itself
  var mock = {
    truthy : true,
    falsy : false,
    obj : {},
    arr : [],
    arrOfObj : [ { } ],
    nul : null,
    undef : undefined,
  };
  beforeEach(function () {

  });
  it("Spec 1", function () {
    expect(model).toBeDefined();
  });
  it("Spec 1.2", function () {
    expect(model).toBeDefined();
  });


  describe("When...", function () {
    /*
    You can initiate another set of test properties vars here
    */
    beforeEach(function () {
    });
    it("Spec 2", function () {
      expect(model).toBeDefined();
      describe("When...spec2 child", function () {
        beforeEach(function () {
        });
        it("Spec 2 child", function () {
        });
      });
    });

    it("Spec 3", function () {
      expect(model).toBeDefined();
      expect(input.id).toBeDefined();


    });
  });

最佳答案

您不能将describe 放入it 中。嵌套没有固定限制。

作品:

describe("...", function() {
  describe("...", function() {
    it("...", function() {
      // ...
    });

    describe("...", function() {
      // ...
    });
  });
});

不起作用:

describe("...", function() {
  describe("...", function() {
    it("...", function() {
      describe("...", function() {
        // ...
      });
    });
  });
});

关于javascript - Jasmine 允许深度嵌套描述套件有多深?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32211631/

相关文章:

javascript - 根据对象值创建子数组(两个对象的两个分组)

javascript - Beforeunload 无法将用户重定向到另一个页面,当他试图关闭窗口/选项卡时,如何将用户重定向到另一个页面/url?

php - TDD : Test MVC application

javascript - 为什么 Jasmine 测试中不会抛出错误?

javascript - 使用删除属性而不影响父对象

javascript - Jquery 事件不会在手动添加的元素上触发

java - 测试 Ajax - 在 Apache Wicket 中提交表单

php - 如何使用 PHPUnit 测试特定方法

jasmine - Intellisense 不适用于 VS Code 上的 Jasmine

javascript - 如何跟踪使用特定参数调用函数的次数