Angular E2E访问环境变量
Angular E2E acces environment variables
所以我将 NX 与 Angular 一起使用,并且我有多个应用程序有两种可能的身份验证方法。因此我需要进行 E2E 测试,测试两种身份验证方法,因为它们在输入字段中有所不同。所以这将是我的尝试,但我不知道我应该如何导入环境变量:
describe('Login Page', () => {
it('Login should succeed', () => {
if (environment.authType === 'password') {
[...]
} else if (environment.authType === 'oauth') {
[...]
});
});
在我的应用程序中,我使用依赖注入来访问环境,是否可以访问它们?:
import { environment } from '../environments/environment';
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
AppRoutingModule,
],
providers: [
{ provide: 'environment', useValue: environment}
],
bootstrap: [AppComponent]
})
export class AppModule {}
切换到 Cypress 进行 e2e 测试,Nx 支持它用于新构建(不确定改装)。
Cypress 具有非常简单灵活的配置选项,请参阅 Configuration and Environment
的文档
例如,只需将此添加到 cypress.json
配置文件
{
"env": {
"authtype": "password",
"login_url": "/login",
"username": "...",
"password": "..."
}
}
和测试
describe('Login Page', () => {
it('Login should succeed', () => {
if (Cypress.env('authType') === 'password') {
[...]
} else if (Cypress.env('authType') === 'oauth') {
[...]
})
})
所以我将 NX 与 Angular 一起使用,并且我有多个应用程序有两种可能的身份验证方法。因此我需要进行 E2E 测试,测试两种身份验证方法,因为它们在输入字段中有所不同。所以这将是我的尝试,但我不知道我应该如何导入环境变量:
describe('Login Page', () => {
it('Login should succeed', () => {
if (environment.authType === 'password') {
[...]
} else if (environment.authType === 'oauth') {
[...]
});
});
在我的应用程序中,我使用依赖注入来访问环境,是否可以访问它们?:
import { environment } from '../environments/environment';
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
AppRoutingModule,
],
providers: [
{ provide: 'environment', useValue: environment}
],
bootstrap: [AppComponent]
})
export class AppModule {}
切换到 Cypress 进行 e2e 测试,Nx 支持它用于新构建(不确定改装)。
Cypress 具有非常简单灵活的配置选项,请参阅 Configuration and Environment
的文档例如,只需将此添加到 cypress.json
配置文件
{
"env": {
"authtype": "password",
"login_url": "/login",
"username": "...",
"password": "..."
}
}
和测试
describe('Login Page', () => {
it('Login should succeed', () => {
if (Cypress.env('authType') === 'password') {
[...]
} else if (Cypress.env('authType') === 'oauth') {
[...]
})
})