小编Bil*_*Tom的帖子

如何找到Github用户的所有公开评论?

直到最近,我才能使用我的个人资料页面上的链接找到我的所有公开评论.我正在使用此功能来跟踪我评论过的所有问题,但没有做出任何贡献.它在一个名为"公共活动"的部分下.

此功能似乎已被删除.我在关于个人资料帮助页面上找不到任何相关信息.

有没有人知道何时以及为何删除此信息?

github user-profile

55
推荐指数
3
解决办法
7957
查看次数

如何使用Karma,Jasmine和Istanbul指定测试应涵盖哪些功能/方法

我试图弄清楚如何限制我的测试,以便覆盖记者只考虑在专门为该功能编写测试时所涵盖的功能.

PHPUnit文档中的以下示例显示了我尝试实现的非常好的内容:

可以在测试代码中使用@covers注释来指定测试方法要测试的方法:

/**
 * @covers BankAccount::getBalance
 */
public function testBalanceIsInitiallyZero()
{
    $this->assertEquals(0, $this->ba->getBalance());
}
Run Code Online (Sandbox Code Playgroud)

如果执行上述测试,则​​只将该功能getBalance标记为已覆盖,而不是其他.

现在来自我的JavaScript测试的一些实际代码示例.此测试显示了我试图摆脱的不需要的行为:

it('Test get date range', function()
{
    expect(dateService.getDateRange('2001-01-01', '2001-01-07')).toEqual(7);
});
Run Code Online (Sandbox Code Playgroud)

此测试将将函数标记getDateRange为已覆盖,但也 标记从内部调用的任何其他函数getDateRange.由于这个怪癖,我项目的实际代码覆盖率可能比报告的代码覆盖率低很多.

我怎么能阻止这种行为?有没有办法让Karma/Jasmine/Istanbul按照我想要的方式运行,或者我是否需要切换到另一个JavaScript测试框架?

javascript unit-testing code-coverage jasmine istanbul

12
推荐指数
1
解决办法
665
查看次数

TypeScript生成无法访问的代码

我在TypeScript中编写了以下函数

function initializeTasksPerUserJSON(task)
{
    const tasksPerUser = {
        'username': task.mantisUsername,
        'duration_minutes': task.mantisBugNoteDurationSum,
        'categories': {
            [task.mantisBugCategoryName]: initializeTaskCategoriesJSON(task)
        }
    };

    return tasksPerUser;
}
Run Code Online (Sandbox Code Playgroud)

这转化为以下JavaScript

function initializeTasksPerUserJSON(task) {
    var tasksPerUser = {
        'username': task.mantisUsername,
        'duration_minutes': task.mantisBugNoteDurationSum,
        'categories': (_a = {},
            _a[task.mantisBugCategoryName] = initializeTaskCategoriesJSON(task),
            _a
        )
    };
    return tasksPerUser;
    var _a;
}
Run Code Online (Sandbox Code Playgroud)

我不明白var _a;返回语句应该完成什么.这对我来说似乎没有意义,因为该行永远不会被执行.这是TypeScript中的错误,还是有更深层的含义?

我正在使用没有任何编译器标志的tsc版本1.8.10.

javascript transpiler typescript

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