小编jor*_*nbs的帖子

使用TypeScript导入节点模块

我试图让这个工作,但我似乎无法在任何地方找到解决方案.尝试编译此单文件应用程序时:

import http = require('http')
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Run Code Online (Sandbox Code Playgroud)

使用命令"tsc app.ts --module'commonjs'"我得到以下错误(不使用--module标志给我一个额外的错误告诉我,我需要它来编译外部模块):

error TS2071: Unable to resolve external module '"http"'.
error TS2072: Module cannot be aliased to a non-module type.
Run Code Online (Sandbox Code Playgroud)

node.js typescript

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

测试不执行方法,除非我断言方法的返回值

好的,我有一个奇怪的问题.

我在C#Test项目中使用NUnit和Moq.我认为你可以忽略模拟对象,因为真正的问题在于UserManager.AddUser()没有被正确执行.

以下代码永远不会在UserManager.AddUser()的开头到达断点,因此由于NullPointerException而导致Assertion失败.

[Test]
enter code here
public void AddUser_NoPassword_GeneratesPassword()
    {
        //assert
        var userRepositoryFake = new Mock<IUserRepository>();
        userRepositoryFake.Setup(x => x.GetUser(It.IsAny<string>(), It.IsAny<bool>())).Returns((User)null);
        userRepositoryFake.Setup(x => x.SaveUser(It.IsAny<User>())).Returns(new Mock<User>().Object);

        var userManager = new UserManager(userRepositoryStub.Object);
        var createUserViewModel = new CreateUserViewModel { Username = "username" };

        //act
        var validationErrors = userManager.AddUser(createUserViewModel);

        //assert
        Assert.IsNotNullOrEmpty(createUserViewModel.Password);
    }
Run Code Online (Sandbox Code Playgroud)

但是,如果我添加这个断言:

        //assert
        Assert.IsEmpty(validationErrors); //new assertion
        Assert.IsNotNullOrEmpty(createUserViewModel.Password);
Run Code Online (Sandbox Code Playgroud)

到达AddUser()中的断点,测试成功.似乎测试根本不执行AddUser(),除非它的返回值用于某些东西.

c# asp.net-mvc nunit unit-testing

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

标签 统计

asp.net-mvc ×1

c# ×1

node.js ×1

nunit ×1

typescript ×1

unit-testing ×1