Das liegt daran, dass Sie Karma konfigurieren müssen, um es zu laden, und es dann auf Anfrage bedienen müssen;)
In Ihrer Datei karma.conf.js sollten Sie bereits Dateien und / oder Muster definiert haben wie:
// list of files / patterns to load in the browser
files : [
{pattern: 'app/lib/angular.js', watched: true, included: true, served: true},
{pattern: 'app/lib/angular-*.js', watched: true, included: true, served: true},
{pattern: 'app/lib/**/*.js', watched: true, included: true, served: true},
{pattern: 'app/js/**/*.js', watched: true, included: true, served: true},
// add the line below with the correct path pattern for your case
{pattern: 'path/to/**/*.png', watched: false, included: false, served: true},
// important: notice that "included" must be false to avoid errors
// otherwise Karma will include them as scripts
{pattern: 'test/lib/**/*.js', watched: true, included: true, served: true},
{pattern: 'test/unit/**/*.js', watched: true, included: true, served: true},
],
// list of files to exclude
exclude: [
],
// ...
Sie können einen Blick hier nach weiteren Informationen :)
BEARBEITEN: Wenn Sie einen NodeJS-Webserver zum Ausführen Ihrer App verwenden, können Sie dies zu karma.conf.js hinzufügen:
proxies: {
'/path/to/img/': 'http://localhost:8000/path/to/img/'
},
EDIT2: Wenn Sie keinen anderen Server verwenden oder verwenden möchten, können Sie einen lokalen Proxy definieren. Da Karma jedoch keinen dynamischen Zugriff auf den verwendeten Port bietet, werden Sie dies weiterhin tun, wenn Karma an einem anderen Port als 9876 (Standard) startet Holen Sie sich diese nervigen 404 ...
proxies = {
'/images/': '/base/images/'
};
Verwandte Ausgabe: https://github.com/karma-runner/karma/issues/872