我正在学习TDD(在Javascript中),我想知道,使用配置变量的正确方法是什么?我应该创建一个单独的类并让它们成为类的成员变量,并将类的实例传递给需要它的每个对象,或者创建一个全局变量列表并使用它们?每种方法有哪些好处/挫折?
例如,我必须按如下方式从URL获取数据:
function getData (remoteDataDelegate) {
remoteDataDelegate.getData(userInfoURL)
}
其中userInfoURL
是我在其他地方为我网站上的网页设置的配置变量。
答案 0 :(得分:0)
全局变量通常由TestCase的setUp方法设置。
答案 1 :(得分:0)
这是我如何做的一个例子:
function NewConfiguration() {
var config = {};
config.carriersSelector = NewCarriersSelector();
config.paymentMethodsSelector = NewPaymentMethodsSelector();
return config;
}
用法:
function NewOrderModel(request, searchRequest) {
var configuration = NewConfiguration();
// ... other variables code
var that = {
getContentSuccess: function(cb) {
// .. setup code
$.ajax({
type: 'GET',
url: request.page,
dataType: 'json',
data: request.data,
async: request.async,
success: function(data) {
if (data.status === 'success') {
cb(data.html, activeCustomer, step, configuration);
}
if (data.status == 'flash') {
flash(data.flash);
}
},
complete: request.complete
});
},
}
您会注意到没有注入配置。对我来说,在这个示例代码中,配置永远不会改变。现在我的请求对象发生了变化,因此它们被注入,所以我可以嘲笑它们或重定向页面。