我想提供简单的常量值,例如姓名、电子邮件等,以在我的 jasmine 单元测试中使用。
这里问了一个类似的问题:AngularJS + Karma:在单元测试指令或控制器时重用模拟服务
在 c# 中,我将创建一个静态类来保存模拟数据的小片段。然后我可以在整个单元测试中使用这些值,如下所示:
static class SampleData
{
public const string Guid = "0e3ae555-9fc7-4b89-9ea4-a8b63097c50a";
public const string Password = "3Qr}b7_N$yZ6";
public const string InvalidGuid = "[invalid-guid]";
public const string InvalidPassword = "[invalid-password]";
}
在使用 Karma / Jasmine 测试我的 AngularJS 应用程序时,我希望获得同样的便利。
我知道我可以constant
针对我的 Angular 应用程序定义一个对象,我已经为我在实际代码中使用的常量执行了此操作,如下所示:
myApp.constant('config', {apiUrl:'http://localhost:8082'})
我可以像这样添加另一个常量,但只包含用于单元测试的示例数据值,如下所示:
myApp.constant('sampleData', {email: 'sample@email.com'})
然后我可以将模拟常量对象注入到我的测试中,然后我就走了,就像这样
describe 'A sample unit test', ->
beforeEach -> module 'myApp'
beforeEach inject ($injector) ->
@sampleData = $injector.get 'sampleData'
email = @sampleData.email
# etc ...
然而,这对我来说似乎有点可疑。我不希望我的生产代码包含仅由我的单元测试需要的示例数据。
您将如何方便地为您的 angular / jasmine 单元测试提供可重用的样本数据值?
谢谢