因此,我试图在Angular 4 Angular CLI上运行“ ng test”。我遇到了许多问题,例如如果测试失败,UI不会加载任何有用的消息,但是幸运的是控制台可以正常工作。无论如何,发生此错误是说我没有在规范中给MatSnackBar一个提供者,但是当我这样做时,我得到了另一个错误。
Chrome 66.0.3359 (Linux 0.0.0) BranchNameCellComponent should create FAILED
Error: No provider for MatSnackBar!
Run Code Online (Sandbox Code Playgroud)
当我包含MatSnackBar作为导入时出错
Chrome 66.0.3359 (Linux 0.0.0) BranchNameCellComponent should create FAILED
Failed: Unexpected value 'MatSnackBar' imported by the module 'DynamicTestModule'. Please add a @NgModule annotation.
Run Code Online (Sandbox Code Playgroud)
在我的组件代码中,我要导入MatSnackBar并在构造函数中调用它。工作正常。
import { MatSnackBar } from '@angular/material';
....
constructor(private httpClient: HttpClient, private fb: FormBuilder, public snackBar: MatSnackBar) { }
Run Code Online (Sandbox Code Playgroud)
但是在规范中,我没有用。
import { MatSnackBar } from '@angular/material';
....
describe('BranchNameCellComponent', () => {
let component: BranchNameCellComponent;
let fixture: ComponentFixture<BranchNameCellComponent>;
beforeEach(async(() …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的 Dockerfile:
FROM python:3.6
RUN mkdir /code
COPY dist/python-0.1.0.tar.gz /code
WORKDIR /code
RUN pip install python-0.1.0.tar.gz
ENTRYPOINT ["post"]
Run Code Online (Sandbox Code Playgroud)
“post”命令可以正常运行我的代码,无需任何参数。我的问题是如何让 docker 容器在运行时排除本地文件,因为它可能会发生变化。
这是我运行脚本的命令,但说没有这样的文件或目录 data/output.xml
docker run container data/output.xml
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个但没有运气
docker run -v data:/data containter /data/output.xml
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助!
我正在尝试测试我用于 Angular CLI 项目的服务。我已经测试了其中的所有功能,除了那些有订阅的功能,而订阅给我带来了麻烦。请帮忙。我应该如何测试这个功能?
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Rx';
import { HttpClient } from '@angular/common/http';
import * as moment from 'moment';
@Injectable()
export class BuildService {
constructor(private httpClient: HttpClient) { }
index() {
let o = new Observable( observer => {
this.httpClient.get("/api/build").subscribe(builds => {
this.setInitialResultsValue(builds);
observer.next(builds);
observer.complete();
});
});
return o;
}
}
Run Code Online (Sandbox Code Playgroud)
当前的测试尝试:
import { TestBed, inject } from '@angular/core/testing';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { MockBackend } from '@angular/http/testing'; …Run Code Online (Sandbox Code Playgroud)