Ho un oggetto che sto simulando per il test dell'unità. In sostanza nel mio file di test ho mock come segue:Oggetto fittizio a livello globale in angularjs per il test del gelsomino/karma
var mockObject = {
mockMethod1 : function() {return true},
mockMethod2 : function() {return true}
};
beforeEach(module('myModule') , function ($provide) {
$provide.value('realObject',mockObject);
});
Il modo in cui ho capito è che, come ho prova di funzionalità nel mio modulo ecc ... da nessuna parte che fa riferimento al "realObject" sarà utilizzare il mio "MockObject"
Il mio problema è che ho creato più file js per il test e non voglio definire il mio "mockObject" in ognuno di essi ... né voglio mantenerlo in più posti di quello che ho anch'io .
C'è un modo per spostare il mio "mockObjact" in un file separato che viene incluso in karma.conf.js che renderà il "mockObject" disponibile per l'iniezione in uno qualsiasi dei miei file di test ..... Sto pensando sulla falsariga di come si inietta $ rootScope
ho sentito dove stai andando a renderlo un servizio. Ma il modo in cui immaginerei è qualcosa in cui vorrei essere in grado di impostare qualcosa nella parte superiore del mio test come: var myMockObject = myService.getObject(); e poi usare quell'oggetto simulato nel resto dei test – Deslyxia