小编Kub*_*a T的帖子

TypeScript中的自定义错误类

我想在TypeScript中创建自己的错误类,扩展核心Error以提供更好的错误处理和自定义报告.例如,我想创建一个HttpRequestError带有url,response和body的类传递给它的构造函数,该函数响应Http请求到http://example.com失败,状态代码为500,并显示消息:出错并且堆栈跟踪正确.

如何在TypeScript中扩展核心Error类?我已经在SO中找到了帖子:如何在TypeScript中扩展宿主对象(例如,错误),但这个解决方案对我不起作用.我使用TypeScript 1.5.3

有任何想法吗?

error-handling inheritance typescript

43
推荐指数
6
解决办法
4万
查看次数

Mongoose - 按标准查找子文档

我刚刚遇到这个问题.我有两个Mongoose模式:

var childrenSchema = mongoose.Schema({
    name: {
        type: String
    },
    age: {
        type: Number,
        min: 0
    }
});

var parentSchema = mongoose.Schema({
    name : {
        type: String
    },
    children: [childrenSchema]
});
Run Code Online (Sandbox Code Playgroud)

问题是,如何childrenSchema从每个父文档中获取所有子文档(在本例中为对象)?我们假设我有一些数据:

var parents = [
    { name: "John Smith",
    children: [
        { name: "Peter", age: 2 }, { name: "Margaret", age: 20 }
    ]},
    { name: "Another Smith",
    children: [
        { name: "Martha", age: 10 }, { name: "John", age: 22 }
    ]}
];
Run Code Online (Sandbox Code Playgroud)

我想在一个查询中检索所有18岁以上的孩子.这可能吗?每个答案都将不胜感激,谢谢!

mongoose mongodb node.js

30
推荐指数
2
解决办法
4万
查看次数

PHPUnit:模拟不存在的类

是否可以在PHPUnit中创建一个不存在的类的模拟?
假设我有一些类创建另一个类的实例,例如:

class TaskRunner
{
    public function runTasks()
    {
        // Run through some loop to get tasks and store each in $taskName
        // Get task instance by given task name 
        $task = $this->getTaskInstance($taskName);
        if ($task instanceof AbstractTask) {
            $task->run();
        }
    }

    protected function getTaskInstance($taskName)
    {
        // Just an example
        return new $taskName();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想运行单元测试runTasks方法来检查创建的任务实例是否扩展了一些抽象类.
是否有可能不在文件系统中创建样本类来检查继承约束?
谢谢大家!

phpunit unit-testing mocking

15
推荐指数
2
解决办法
4672
查看次数

MySQL数据库中历史数据的最佳实践

最近我想到了将历史数据存储在MySQL数据库中的最佳实践.目前,每个版本化表有两列- valid_fromvalid_to,这两个DATETIME类型.包含当前数据的记录已valid_from填充其创建日期.当我更新这一行时,我填写valid_to更新日期并添加与上一行valid_from相同的新记录valid_to- 简单的东西.但我知道表格会非常快,因此获取数据可能会非常慢.
我想知道你是否有任何存储历史数据的做法?

mysql sql

8
推荐指数
1
解决办法
5805
查看次数

在Jest测试中使用Webpack的DefinePlugin变量

我对React很陌生,来自Angular。我正在为将请求发送到外部端点的代码编写一些测试。显然,我不想在生产代码中对真正的主机进行硬编码,因此我认为我可以使用webpack DefinePlugin来保持不变。

如何一起配置Webpack和Jest以使用Webpack的功能?

reactjs webpack jestjs

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

Dart - 构造函数中异常的单元测试

我在 Dart (1.9.3) 中使用unittest库编写了一些带有单元测试的简单项目。我在检查构造函数是否抛出错误时遇到问题。这是我为此问题编写的示例代码:

class MyAwesomeClass {
    String theKey;

    MyAwesomeClass();

    MyAwesomeClass.fromMap(Map someMap) {
        if (!someMap.containsKey('the_key')) {
            throw new Exception('Invalid object format');
        }

        theKey = someMap['the key'];
    }
}
Run Code Online (Sandbox Code Playgroud)

这是单元测试:

test('when the object is in wrong format', () {
    Map objectMap = {};

    expect(new MyAwesomeClass.fromMap(objectMap), throws);
});
Run Code Online (Sandbox Code Playgroud)

问题是测试失败并显示以下消息:

Test failed: Caught Exception: Invalid object format
Run Code Online (Sandbox Code Playgroud)

我做错了什么?这是一个错误unittest还是我应该测试异常try..catch并检查是否抛出了异常?
谢谢大家!

unit-testing dart

4
推荐指数
1
解决办法
977
查看次数

共享AngularJS $ http拦截器

我想知道Angular.js $ http拦截器是否在整个应用程序中共享.
我们假设我有一个myDependentApp模块,在很多应用程序之间共享.该模块有一些拦截器配置为控制$ http请求/响应.我通过在应用程序引导程序中声明它来包含该模块:

angular.module('myApp', ['myDependentApp']);
Run Code Online (Sandbox Code Playgroud)

我有应用程序模板:

<html ng-app="myApp">
Run Code Online (Sandbox Code Playgroud)

myDependentApp的拦截器会活跃myApp吗?

感谢帮助.

javascript angularjs angular-http-interceptors

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

Kotlin 内置的“懒惰”功能是如何工作的?

我想在我的 Kotlin 代码中尝试一些新的委托属性。我在文档中发现,对于自定义委托属性,我需要创建一个具有强制性方法的类 -getValue以及可选的setValue,它们是文档中提到的接口的一部分:

您可以将委托创建为匿名对象,而无需使用接口ReadOnlyPropertyReadWritePropertyKotlin 标准库创建新类

我开始研究 Kotlin 的内置委托函数。我研究了lazy如下函数的实现:

public actual fun <T> lazy(initializer: () -> T): Lazy<T> = SynchronizedLazyImpl(initializer)
Run Code Online (Sandbox Code Playgroud)

这就是我的问题所在:为什么它实际上有效? Lazy接口只有value属性和一些确定其值初始化的方法。SynchronizedLazyImpl没有比这更多的了。他们都没有getValuesetValue方法,那么为什么 Kotlin 不抱怨并成功编译?

delegates lazy-initialization kotlin

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