小编mrk*_*nic的帖子

Angular CLI 6未知选项:' - singleRun'

当我想执行我的测试时,我曾经--single-run激活了选项,但在升级到Angular 6后,它不再被识别.

> ng test --source-map=false --single-run --no-progress --browsers=ChromeNoSandbox
Run Code Online (Sandbox Code Playgroud)

未知选项:' - singleRun'

Angular CLI 6中对于--single-run的等效选项是什么?

angular angular-cli-v6

22
推荐指数
2
解决办法
6984
查看次数

JUnit 5不执行使用BeforeEach注释的方法

JUnit 5不会在使用注释注释的测试类中调用我的方法@BeforeEach,其中我初始化测试中所需的测试对象的一些字段.当试图在测试方法(注释方法@Test)中访问这些字段时,我显然得到一个NullpointerException.所以我在方法中添加了一些输出消息.

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

public class TestClass {
   private String s;

   public TestClass() {

   }

   @BeforeEach
   public void init() {
      System.out.println("before");
      s = "not null";
   }

   @Test
   public void test0() {
      System.out.println("testing");
      assertEquals("not null", s.toString());
   }

}
Run Code Online (Sandbox Code Playgroud)

在运行测试的输出中,mvn clean test我从test0()注释@Test注释的方法中获取"测试"消息,但不打印"之前"消息.

Running de.dk.spielwiese.TestClass
!!!testing!!!
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0 sec <<< FAILURE!
de.dk.spielwiese.TestClass.test0()  Time elapsed: 0 sec  <<< FAILURE! …
Run Code Online (Sandbox Code Playgroud)

java maven junit5

17
推荐指数
5
解决办法
6983
查看次数

Angular 表单电子邮件验证器未按预期工作

我有一个非常简单的表单,只有一个输入字段:

this.form = this.fb.group({
  emailAddress: ['', [Validators.required, Validators.email]],
});
Run Code Online (Sandbox Code Playgroud)

标记:

<input type="email" class="form-control" formControlName="emailAddress">
Run Code Online (Sandbox Code Playgroud)

该字段有两个验证器,必填和用于电子邮件。

我还有一个提交按钮,配置如下:

<button [disabled]="!form.valid" type="submit">Send</button>
Run Code Online (Sandbox Code Playgroud)

令人困惑的部分是,当我输入错误的电子邮件地址时,例如:

一个@b

提交按钮被启用,从而将表单和输入字段标记为有效。我希望这a@b不是一个有效的电子邮件地址。

我应该使用其他任何角度的电子邮件验证器还是这是一个错误?

validation angular

9
推荐指数
4
解决办法
9948
查看次数

Angular 5 Jasmine错误:期望找到一个匹配的标准请求

我有一个非常简单的服务电话和茉莉花测试.

服务电话:

myServiceCall(testId: number) : void {
    const url = `${this.url}/paramX/${testId}`;
    this.http.put(url, {},{headers: this.headers}).subscribe();
}
Run Code Online (Sandbox Code Playgroud)

我的测试方法:

it('should call myServiceCall', inject([MyService], (service: MyService) => {
    let testId = undefined;
    service.myServiceCall(testId);
    let req = httpMock.expectOne(environment.baseUrl + "/paramX/123");

    expect(req.request.url).toBe(environment.baseUrl + "/paramX/123");
    expect(req.request.body).toEqual({});

    req.flush({});
    httpMock.verify();
}));
Run Code Online (Sandbox Code Playgroud)

我当然是一个例外,因为我希望url参数为"123"而不是像这个测试用例场景中那样未定义.

错误:预期一个匹配的条件请求"匹配URL: http:// localhost:8080/myservice/paramX/123 ",找不到.

我不明白的是测试框架说的原因

找不到

虽然提出了要求.是否有可能让测试框架告诉我其他实际调用是什么,类似于mockito的验证?

jasmine angular angular-httpclient

6
推荐指数
2
解决办法
1万
查看次数

spring data 2 findById 与 getOne 之间的区别

将我的 Web 应用程序从 spring boot 1.5.10 升级到 spring boot 2.0.0 后,我在访问单个实体时遇到了一些运行时异常。

org.hibernate.LazyInitializationException:无法初始化代理 - 没有会话

我的存储库:

public interface MyRepository extends JpaRepository<MyEntity, Long> {
}
Run Code Online (Sandbox Code Playgroud)

在我的一项服务中,我调用了 spring data 1.xmyRepository.findOne(id);来获取单个实体。但是 findOne(Long id) 方法在 spring data 2 中被删除了,所以我不得不切换到另一种方法。

我发现JpaRepository#getOne(ID id);切换findOnegetOne所有测试后都通过并且是绿色的。但是在运行时我收到了上面提到的异常。org.hibernate.LazyInitializationException

于是又搜索了合适的方法,发现 CrudRepository#findById(ID id)

这次一切都解决了,我很高兴,但现在的问题是,为什么我org.hibernate.LazyInitializationException在使用时得到了getOne()

java hibernate spring-data spring-data-jpa spring-boot

5
推荐指数
0
解决办法
4431
查看次数

karma-jasmine-html-reporter@1.1.0需要jasmine @> = 3的同伴,但没有安装.

在将jasmine-core升级到3.1.0之后,我还想将karma-jasmine-html-reporter升级到最新版本1.1.0

npm i --no-optional
Run Code Online (Sandbox Code Playgroud)

结果是

npm WARN karma-jasmine-html-reporter@1.1.0需要jasmine @> = 3的同伴,但没有安装.您必须自己安装对等依赖项.

我的package.json与devDepenencies

"devDependencies": {
    "@angular/cli": "^6.0.8",
    "@angular/compiler-cli": "^6.0.4",
    "@angular/language-service": "^6.0.4",
    "@types/jasmine": "^2.8.8",
    "@types/node": "10.1.2",
    "jasmine-core": "~3.1.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~2.0.2",
    "karma-chrome-launcher": "~2.2.0",
    "karma-cli": "~1.0.1",
    "karma-ie-launcher": "^1.0.0",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^1.1.0",
    "protractor": "~5.3.2",
    "tslint": "~5.10.0",
    "typescript": "2.7.2",
    "@angular-devkit/build-angular": "~0.6.8"
}
Run Code Online (Sandbox Code Playgroud)

我错了假设jasmine-core == @jasmine?这里有什么我想念的吗?

jasmine karma-jasmine angular

5
推荐指数
1
解决办法
1246
查看次数

Angular Reactive Form 检查 Test 中是否存在 FormControl

我在 Angular 5 中有一个反应式形式,它正在工作。该表单有 eq 一个输入字段和一个复选框。

<div class="form-group" *ngIf="!myForm.controls.myCheckbox.value">
    <input class="form-control" formControlName="myField"
</div>

<div class="form-group">
    <input type="checkbox" formControlName="myCheckbox">
</div>
Run Code Online (Sandbox Code Playgroud)

复选框用于处理输入字段的可见性:如果选中的输入字段是不可见的,反之亦然。

我正在使用 TestBed 使用 jasmine 编写测试来配置 componentFixture。

我尝试获取 formControl 并检查是否存在,例如使用以下语句,但它不起作用。

let myField= component.driverForm.controls['myField'];
let myCheckbox= component.driverForm.controls['myCheckbox'];
myCheckbox.setValue(true);

fixture.detectChanges();

expect(myField).toBeFalsy("myField not existing");
Run Code Online (Sandbox Code Playgroud)

预期 FormControl( ... ) 为假“myField 不存在”。

我现在的问题是,当单击茉莉花测试中的复选框时,如何测试表单控件“myField”是否可见/不可见?

jasmine angular angular-reactive-forms

3
推荐指数
1
解决办法
9348
查看次数

Spring MVC 5 ResultMatcher jsonPath 空值

将我的休息服务从 Spring Boot 1.5.10 升级到 2.0.0 后,我遇到了之前通过的测试失败。

以下场景:

import org.mockito.internal.matchers.Null;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;

...

.andExpect(jsonPath("img").value(Null.NULL))
Run Code Online (Sandbox Code Playgroud)

现在在 Spring MVC 5 中失败并显示以下消息:

java.lang.AssertionError:JSON 路径“img”
预期:isNull() 实际:null

Spring MVC 5 中断言 the 值的正确方法jsonPathnull什么?

spring spring-mvc spring-test mockito spring-boot

3
推荐指数
1
解决办法
4456
查看次数

Wicket 8 wicket setDefaultModel与setDefaultModel冲突

从Wicket 7升级到Wicket 8后,我在IntelliJ中遇到了多个擦除警告.

例如,当使用AjaxLinkIntelliJ抱怨时

'org.apache.wicket.MarkupContainer'中的'setDefaultModel(IModel model)'与'org.apache.wicket.IGenericComponent'中的'setDefaultModel(IModel model)'冲突; 两种方法都有相同的擦除但不会覆盖另一种方法

我能做些什么吗?

java wicket wicket-8

2
推荐指数
1
解决办法
347
查看次数