假设我有以下代码:
interface A {
a: number;
}
interface B extends A {
b: number;
}
const b: B = {a: 1, b: 5};
const a: A = b as A;
Run Code Online (Sandbox Code Playgroud)
现在变量a有 type A,但它仍然包含b在其中。有时这是不可取的 - 我想确定,如果我有一个 type 变量A,它具有type的确切字段A。我想知道,TypeScript 是否有某种“硬转换”可以在类型之间转换时删除任何不需要的字段。
我正在为我的代码编写单元测试,并且遇到了一个方法,在尝试创建队列和AddMessage到队列时会抛出StorageException.我想测试异常处理是否正常.为了做到这一点,我想到了为CloudQueue使用模拟,但后来发现这个类是密封的.有没有办法在不实际更改生产代码的情况下测试异常处理(或强制执行StorageException)?
我正在尝试使用 open cover 为我的项目生成代码覆盖率报告,但它只涵盖测试类,而不是我想要的源代码。我正在使用以下命令来运行我的测试:
"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -register:user -target:"$nunit_path\nunit-console.exe" -targetargs:"$project_path\Project.Test\Project.Test.dll -noshadow" -mergebyhash -output:C:\Reports\NUnit\projectCoverageReport.xml
Run Code Online (Sandbox Code Playgroud)
$nunit_path 和 $project_path 只是我文件的路径,我跳过它们以使命令更清晰。
当我运行这个命令时,我得到了测试类的完整覆盖(在 Project.Test.dll 程序集中),但没有其他任何东西。我如何让 OpenCover 也考虑源代码?
我IEnumerable<MyStruct>和MyStruct看起来如下:
struct MyStruct
{
public IEnumerable<string> aliases;
public Action action;
public MyStruct(IEnumerable<string> aliases, Action action)
{
this.aliases = aliases;
this.action = action;
}
}
Run Code Online (Sandbox Code Playgroud)
我想把它变成一个字典,其中键将是每个字符串,aliases并且值将是action.例如,如果我有两个MyStruct对象IEnumerable,第一个有别名"o", "on", "one"和动作a1,第二个有别名"t", "tw", "two"和动作a2,我希望结果字典看起来像这样:
{"o", a1},
{"on", a1},
{"one", a1},
{"t", a2},
{"tw", a2},
{"two", a2}
Run Code Online (Sandbox Code Playgroud)
我想知道Linq有没有办法做到这一点?
我正在尝试设计一个数据库作为练习问题来学习 ER 模型。简单来说,我有三个实体:User、Post和Comment。User我有和之间的一对多关系(用户可以发布帖子),和Post之间有一对多关系(用户可以写很多评论)以及和之间有一对多关系(一篇帖子可以包含很多评论)。显然,这形成了一个循环,我被告知在设计时要避免循环。那么有没有什么巧妙的方法可以简化这些关系来消除环路呢?或者也许有一种通用算法可以消除循环?UserCommentPostComment