translate: 3450
This commit is contained in:
parent
08ef04a968
commit
020722e3ea
|
@ -3269,7 +3269,7 @@ code-example(format="." language="javascript").
|
||||||
Each overide method takes a `MetadataOverride<T>` where `T` is the kind of metadata
|
Each overide method takes a `MetadataOverride<T>` where `T` is the kind of metadata
|
||||||
appropriate to the method, the parameter of an `@NgModule`, `@Component`, `@Directive`, or `@Pipe`.
|
appropriate to the method, the parameter of an `@NgModule`, `@Component`, `@Directive`, or `@Pipe`.
|
||||||
|
|
||||||
|
每一个重载方法接受一个`MetadataOverride<T>`,这里`T`是适合这个方法的元数据类型,也就是`@NgModule`、`@Component`、`@Directive`或者`@Pipe`的参数。
|
||||||
|
|
||||||
code-example(format="." language="javascript").
|
code-example(format="." language="javascript").
|
||||||
type MetadataOverride<T> = {
|
type MetadataOverride<T> = {
|
||||||
|
@ -3283,15 +3283,31 @@ code-example(format="." language="javascript").
|
||||||
:marked
|
:marked
|
||||||
The `TestBed` API consists of static class methods that either update or reference a _global_ instance of the`TestBed`.
|
The `TestBed` API consists of static class methods that either update or reference a _global_ instance of the`TestBed`.
|
||||||
|
|
||||||
|
`TestBed`的API包含了一系列静态类方法,它们更新或者引用**全局**的`TestBed`实例。
|
||||||
|
|
||||||
Internally, all static methods cover methods of the current runtime `TestBed` instance that is also returned by the `getTestBed()` function.
|
Internally, all static methods cover methods of the current runtime `TestBed` instance that is also returned by the `getTestBed()` function.
|
||||||
|
|
||||||
|
在内部,所有静态方法在`getTestBed()`函数返回的当前运行时间的`TestBed`实例上都有对应的方法。
|
||||||
|
|
||||||
Call `TestBed` methods _within_ a `BeforeEach()` to ensure a fresh start before each individual test.
|
Call `TestBed` methods _within_ a `BeforeEach()` to ensure a fresh start before each individual test.
|
||||||
|
|
||||||
|
在`BeforeEach()`内调用`TestBed`方法,这样确保在运行每个单独测试时,都有崭新的开始。
|
||||||
|
|
||||||
Here are the most important static methods, in order of likely utility.
|
Here are the most important static methods, in order of likely utility.
|
||||||
|
|
||||||
|
这里列出了最重要的静态方法,以使用频率排序:
|
||||||
table
|
table
|
||||||
tr
|
tr
|
||||||
th Methods
|
th
|
||||||
th Description
|
:marked
|
||||||
|
Methods
|
||||||
|
|
||||||
|
方法
|
||||||
|
th
|
||||||
|
:marked
|
||||||
|
Description
|
||||||
|
|
||||||
|
描述
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top") <code>configureTestingModule</code>
|
td(style="vertical-align: top") <code>configureTestingModule</code>
|
||||||
td
|
td
|
||||||
|
@ -3301,8 +3317,13 @@ table
|
||||||
The default testing module is configured with basic declaratives and some Angular service substitutes (e.g. `DebugDomRender`)
|
The default testing module is configured with basic declaratives and some Angular service substitutes (e.g. `DebugDomRender`)
|
||||||
that every tester needs.
|
that every tester needs.
|
||||||
|
|
||||||
|
测试垫片(`karma-test-shim`, `browser-test-shim`)创建了[初始测试环境](##testbed-initTestEnvironment)和默认测试模块。
|
||||||
|
默认测试模块是使用基本声明和一些Angular服务替代品(比如`DebugDomRender`),它们是所有测试都需要的。
|
||||||
|
|
||||||
Call `configureTestingModule` to refine the testing module configuration for a particular set of tests
|
Call `configureTestingModule` to refine the testing module configuration for a particular set of tests
|
||||||
by adding and removing imports, declarations (of components, directives, and pipes), and providers.
|
by adding and removing imports, declarations (of components, directives, and pipes), and providers.
|
||||||
|
|
||||||
|
调用`configureTestingModule`来为一套特定的测试定义测试模块配置,添加和删除导入、(组件、指令和管道的)声明和服务提供商。
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top") <code>compileComponents</code>
|
td(style="vertical-align: top") <code>compileComponents</code>
|
||||||
td
|
td
|
||||||
|
@ -3312,14 +3333,23 @@ table
|
||||||
or `styleUrls` because fetching component template and style files is necessarily asynchronous.
|
or `styleUrls` because fetching component template and style files is necessarily asynchronous.
|
||||||
See [above](#compile-components).
|
See [above](#compile-components).
|
||||||
|
|
||||||
|
在你完成配置以后异步编译测试模块。
|
||||||
|
如果**任何**测试组件有`templateUrl`或`styleUrls`,那么你**必须**调用这个方法。因为获取组件模块和样式文件必须是异步的。
|
||||||
|
参见[上面的描述](#compile-components)。
|
||||||
|
|
||||||
Once called, the `TestBed` configuration is frozen for the duration of the current spec.
|
Once called, the `TestBed` configuration is frozen for the duration of the current spec.
|
||||||
|
|
||||||
|
一旦调用,`TestBed`的配置就会在当前测试期间被冻结。
|
||||||
|
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top") <code>createComponent<T></code>
|
td(style="vertical-align: top") <code>createComponent<T></code>
|
||||||
td
|
td
|
||||||
:marked
|
:marked
|
||||||
Create an instance of a component of type `T` based on the current `TestBed` configuration.
|
Create an instance of a component of type `T` based on the current `TestBed` configuration.
|
||||||
Once called, the `TestBed` configuration is frozen for the duration of the current spec.
|
Once called, the `TestBed` configuration is frozen for the duration of the current spec.
|
||||||
|
|
||||||
|
基于当前`TestBed`的配置创建一个类型为T的组件实例。
|
||||||
|
一旦调用,`TestBed`的配置就会在当前测试期间被冻结。
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top") <code>overrideModule</code>
|
td(style="vertical-align: top") <code>overrideModule</code>
|
||||||
td
|
td
|
||||||
|
@ -3327,24 +3357,33 @@ table
|
||||||
Replace metadata for the given `NgModule`. Recall that modules can import other modules.
|
Replace metadata for the given `NgModule`. Recall that modules can import other modules.
|
||||||
The `overrideModule` method can reach deeply into the current testing module to
|
The `overrideModule` method can reach deeply into the current testing module to
|
||||||
modify one of these inner modules.
|
modify one of these inner modules.
|
||||||
|
|
||||||
|
替换指定的`NgModule`的元数据。回想一下,模块可以导入其他模块。
|
||||||
|
`overrideModule`方法可以深入到当前测试模块深处,修改其中一个内部模块。
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top") <code>overrideComponent</code>
|
td(style="vertical-align: top") <code>overrideComponent</code>
|
||||||
td
|
td
|
||||||
:marked
|
:marked
|
||||||
Replace metadata for the given component class which could be nested deeply
|
Replace metadata for the given component class which could be nested deeply
|
||||||
within an inner module.
|
within an inner module.
|
||||||
|
|
||||||
|
替换指定组件类的元数据,该组件类可能嵌套在一个很深的内部模块中。
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top") <code>overrideDirective</code>
|
td(style="vertical-align: top") <code>overrideDirective</code>
|
||||||
td
|
td
|
||||||
:marked
|
:marked
|
||||||
Replace metadata for the given directive class which could be nested deeply
|
Replace metadata for the given directive class which could be nested deeply
|
||||||
within an inner module.
|
within an inner module.
|
||||||
|
|
||||||
|
替换指定的指令类的元数据,该指令可能嵌套在一个很深的内部模块中。
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top") <code>overridePipe</code>
|
td(style="vertical-align: top") <code>overridePipe</code>
|
||||||
td
|
td
|
||||||
:marked
|
:marked
|
||||||
Replace metadata for the given pipe class which could be nested deeply
|
Replace metadata for the given pipe class which could be nested deeply
|
||||||
within an inner module.
|
within an inner module.
|
||||||
|
|
||||||
|
替换指定的管道类的元数据,该管道可能嵌套在一个很深的内部模块中。
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top").
|
td(style="vertical-align: top").
|
||||||
<a id="testbed-get"></a>
|
<a id="testbed-get"></a>
|
||||||
|
@ -3353,17 +3392,27 @@ table
|
||||||
:marked
|
:marked
|
||||||
Retrieve a service from the current `TestBed` injector.
|
Retrieve a service from the current `TestBed` injector.
|
||||||
|
|
||||||
|
从当前`TestBed`注入器获取一个服务。
|
||||||
|
|
||||||
The `inject` function is often adequate for this purpose.
|
The `inject` function is often adequate for this purpose.
|
||||||
But `inject` throws an error if it can't provide the service.
|
But `inject` throws an error if it can't provide the service.
|
||||||
What if the service is optional?
|
What if the service is optional?
|
||||||
|
|
||||||
|
`inject`函数通常很适合这个任务。
|
||||||
|
但是如果`inject`不能提供服务,它会抛出错误。
|
||||||
|
如果服务是可选的呢?
|
||||||
|
|
||||||
The `TestBed.get` method takes an optional second parameter,
|
The `TestBed.get` method takes an optional second parameter,
|
||||||
the object to return if Angular can't find the provider
|
the object to return if Angular can't find the provider
|
||||||
(`null` in this example):
|
(`null` in this example):
|
||||||
|
|
||||||
|
`TestBed.get`方法接受一个可选的第二参数,它是在Angular找不到所需提供商时返回的对象。(在本例中为`null`):
|
||||||
+makeExample('testing/ts/app/bag/bag.spec.ts', 'testbed-get')(format=".")
|
+makeExample('testing/ts/app/bag/bag.spec.ts', 'testbed-get')(format=".")
|
||||||
:marked
|
:marked
|
||||||
Once called, the `TestBed` configuration is frozen for the duration of the current spec.
|
Once called, the `TestBed` configuration is frozen for the duration of the current spec.
|
||||||
|
|
||||||
|
一旦调用,`TestBed`的配置就会在当前测试期间被冻结。
|
||||||
|
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top").
|
td(style="vertical-align: top").
|
||||||
<a id="testbed-initTestEnvironment"></a>
|
<a id="testbed-initTestEnvironment"></a>
|
||||||
|
@ -3372,21 +3421,32 @@ table
|
||||||
:marked
|
:marked
|
||||||
Initialize the testing environment for the entire test run.
|
Initialize the testing environment for the entire test run.
|
||||||
|
|
||||||
|
为整套测试的运行初始化测试环境。
|
||||||
|
|
||||||
The testing shims (`karma-test-shim`, `browser-test-shim`) call it for you
|
The testing shims (`karma-test-shim`, `browser-test-shim`) call it for you
|
||||||
so there is rarely a reason for you to call it yourself.
|
so there is rarely a reason for you to call it yourself.
|
||||||
|
|
||||||
|
测试垫片(`karma-test-shim`, `browser-test-shim`)会为你调用它,所以你很少需要自己调用它。
|
||||||
|
|
||||||
This method may be called _exactly once_. Call `resetTestEnvironment` first
|
This method may be called _exactly once_. Call `resetTestEnvironment` first
|
||||||
if you absolutely need to change this default in the middle of your test run.
|
if you absolutely need to change this default in the middle of your test run.
|
||||||
|
|
||||||
|
这个方法只能被调用**一次**。如果确实需要在测试运行期间变换这个默认设置,那么先调用`resetTestEnvironment`。
|
||||||
|
|
||||||
Specify the Angular compiler factory, a `PlatformRef`, and a default Angular testing module.
|
Specify the Angular compiler factory, a `PlatformRef`, and a default Angular testing module.
|
||||||
Alternatives for non-browser platforms are available in the general form
|
Alternatives for non-browser platforms are available in the general form
|
||||||
`@angular/platform-<platform_name>/testing/<platform_name>`.
|
`@angular/platform-<platform_name>/testing/<platform_name>`.
|
||||||
|
|
||||||
|
指定Angular编译器工厂,`PlatformRef`,和默认Angular测试模块。
|
||||||
|
非浏览器平台的替代以`@angular/platform-<platform_name>/testing/<platform_name>`的形式提供。
|
||||||
tr
|
tr
|
||||||
td(style="vertical-align: top") <code>resetTestEnvironment</code>
|
td(style="vertical-align: top") <code>resetTestEnvironment</code>
|
||||||
td
|
td
|
||||||
:marked
|
:marked
|
||||||
Reset the initial test environment including the default testing module.
|
Reset the initial test environment including the default testing module.
|
||||||
|
|
||||||
|
重设初始测试环境,包括默认测试模块在内。
|
||||||
|
|
||||||
:marked
|
:marked
|
||||||
A few of the `TestBed` instance methods are not covered by static `TestBed` _class_ methods.
|
A few of the `TestBed` instance methods are not covered by static `TestBed` _class_ methods.
|
||||||
These are rarely needed.
|
These are rarely needed.
|
||||||
|
|
Loading…
Reference in New Issue