数据类型Jasmine

Data Type Jasmine

本文关键字:Jasmine 数据类型      更新时间:2023-09-26

我是jasmine角度测试的初学者,我需要测试数据类型(例如String、int等)

这是我的控制器,我的数据被实例化为null,稍后它将是一个字符串:

_this.instance = {
      template_fields: {
        guid: null
      }
}
// It becomes string
<input type="radio" ng-model="prCreateCtrl.instance.template_fields.guid" value="{{template.guid}}" required>

这是我的测试:

beforeEach(inject(function ($state, $controller, $rootScope, $q) {
    state = $state.get('app.provision');
    ctrl = $controller('ProvisionCreateCtrl', {
      instance: {
        template_fields: {
          guid : {}
        }
      }
    });
}));
it('should resolve data', function () {
  expect(ctrl.instance.template_fields.guid instanceof String).toBeTruthy();
});

我不知道什么时候应该给出一个String,以及如何测试它。使用instanceofString是正确的方法吗?

您可以简单地使用jasmine.any()函数。

在您的情况下,在it()块内:

expect(ctrl.instance.template_fields.guid).toEqual(jasmine.any(String));

您可以尝试使用toBeInstanceOf匹配器:

it()块内部:

expect(ctrl.instance.template_fields.guid).toBeInstanceOf(String);

我认为这很简单;使您的测试更具可读性。玩得开心:)