To dlatego, że musisz skonfigurować karmę, aby ładowała się, a następnie służyła im na żądanie;)
W swoim pliku karma.conf.js powinieneś już mieć zdefiniowane pliki i / lub wzorce, takie jak:
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},
{pattern: 'path/to/**/*.png', watched: false, included: false, served: true},
{pattern: 'test/lib/**/*.js', watched: true, included: true, served: true},
{pattern: 'test/unit/**/*.js', watched: true, included: true, served: true},
],
exclude: [
],
Możesz zajrzeć tutaj, aby uzyskać więcej informacji :)
EDYCJA: Jeśli używasz serwera internetowego nodejs do uruchamiania aplikacji, możesz dodać to do karma.conf.js:
proxies: {
'/path/to/img/': 'http://localhost:8000/path/to/img/'
},
EDIT2: Jeśli nie używasz lub nie chcesz używać innego serwera, możesz zdefiniować lokalne proxy, ale ponieważ Karma nie zapewnia dostępu do używanego portu, dynamicznie, jeśli karma rozpocznie się na innym porcie niż 9876 (domyślnie), nadal dostać te irytujące 404 ...
proxies = {
'/images/': '/base/images/'
};
Powiązany problem: https://github.com/karma-runner/karma/issues/872