我正在尝试在我的 Angular 7 应用程序中使用带有 href 的锚标记。当我点击链接时,浏览器中的 url 会发生变化,但无法导航到该页面。如果我把 target="_self" 这样就可以了
<a href="/abcd" target="_self">Abcd</a>
Run Code Online (Sandbox Code Playgroud)
但这不仅适用于浏览器中的 url 更改,而且没有任何反应
<a href="/abcd">Abcd</a>
Run Code Online (Sandbox Code Playgroud)
好像我使用 Angular 路由并使用 RouterLink 一样工作。
<a routerLink="/abcd" routerLinkActive="active">Abcd</a>
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这种行为。
我一直试图弄清楚在visual studio中编写/运行自动茉莉花测试的最佳方法是什么.目前,我正在使用茉莉花与Resharper(使用PhantomJS),测试可以从visual studio运行.现在我想将测试作为持续集成的一部分运行,并且正在使用TFS.在线搜索给我几个选项让我相当困惑.
1)使用Chutzpah作为测试运行器来执行茉莉花测试.
2)使用Karma作为测试运行器(但它也需要Chutzpah测试适配器用于visual studio).
我觉得使用Karma比其他任何东西都要好,但我无法理解Karma的好处,而不仅仅是使用Chutzpah.任何人都可以澄清应该是什么用法?
我想比较 c# 中的两个小数,并有一定的误差。任何人都可以指出以下代码的问题。请注意,我对小数点后 6 位感兴趣,之后我可以忽略这些值。
var valOne = decimal.Round(valueOne, 6);
var valTwo = decimal.Round(valueTwo, 6);
var difference = Math.Abs(valOne - valTwo);
if (difference > 0.0000001m) {
Console.WriteLine("Values are different");
}
else {
Console.WriteLine("Values are equal");
}
Run Code Online (Sandbox Code Playgroud)
或者,还有更好的方法。
任何人都可以指出正确的方向,因为我无法理解问题。
我正在执行以下方法。
private static void reduce_parallelStream() {
List<String> vals = Arrays.asList("a", "b");
List<String> join = vals.parallelStream().reduce(new ArrayList<String>(),
(List<String> l, String v) -> {
l.add(v);
return l;
}, (a, b) -> {
a.addAll(b);
return a;
}
);
System.out.println(join);
}
Run Code Online (Sandbox Code Playgroud)
它打印
[null,a,null,a]
我不明白为什么它将两个空值放在结果列表中。我希望答案是
[a,b]
因为它是并行流,所以第一个要减少的参数
新的ArrayList()
每个输入值a和b可能会被调用两次。
然后,累加器函数可能会被调用两次,因为它是parallelStream,并在每次调用中传递每个输入“ a和b”以及由种子值提供的列表。因此,将a添加到列表1,将b添加到列表2(反之亦然)。之后,组合器将合并两个列表,但不会发生。
有趣的是,如果我在累加器中放入一条print语句以打印输入值,则输出会更改。所以下面
private static void reduce_parallelStream() {
List<String> vals = Arrays.asList("a", "b");
List<String> join = vals.parallelStream().reduce(new ArrayList<String>(),
(List<String> l, String v) -> {
System.out.printf("l is %s", l);
l.add(v);
System.out.printf("l is %s", l);
return l; …Run Code Online (Sandbox Code Playgroud) 我正在尝试为angularjs编写一个测试$ httpBackend的测试.以下是测试.
describe('test', function() {
beforeEach(function (){
module('abcApp');
});
var $httpBackend, filterService;
beforeEach(inject(function($injector) {
$httpBackend = $injector.get('$httpBackend');
filterService = $injector.get('filterService');
}));
it('getCompany calls get on http with correct parameter', function () {
$httpBackend.when('GET', 'api/Abc').respond([]);
filterService.getAbc();
$httpBackend.flush();
expect($httpBackend.get).toHaveBeenCalled();
});
});
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我收到以下错误: - 错误:预期间谍,但未定义.
任何想法如何我断言$ httpBackend.get已使用expect使用必需参数调用.
angularjs ×2
jasmine ×2
unit-testing ×2
angular ×1
c# ×1
chutzpah ×1
comparison ×1
decimal ×1
html ×1
java ×1
java-8 ×1
java-stream ×1
javascript ×1
karma-runner ×1
reduce ×1