小编gum*_*lux的帖子

如何测试呈现视图的 Express Routes

我在尝试使用 SuperTest 测试一些 Express Routes 时遇到了一些困难。

// Mocha test
  ..
  request(app)
    .get('/user')
    .expect(200)
    .end(function(err, res){
      if (err) return done(err);
     done()
  });
  ...

// Router 
  app.get('/user', function(req, res){
    res.render('user.jade');
  });
Run Code Online (Sandbox Code Playgroud)

当我使用浏览器手动测试路由器时,路由器工作正常,并呈现 jade 模板视图,但是当我运行 mocha 测试时,它失败并显示“未捕获的预期假为真”。Express 将请求记录为成功 (200),但测试仍显示为失败并显示错误消息。

我曾尝试对 SuperTest 段使用不同的代码习语、不同的 jade 模板,而且似乎只在我第一次在呈现模板的路由器上运行测试时发生。即使在相同的路由器和模板上使用 GET 进行以下测试也成功???

已尝试使用路由器查找代码示例,但未成功呈现视图,所以这可能是不受支持的情况?

javascript node.js express supertest

5
推荐指数
1
解决办法
1529
查看次数

带有静态工厂方法的 AutoMapper

使用带有静态工厂方法的值对象的 AutoMapper 的最佳方法是什么:

public class ImmutableDetail 
{
  public static ImmutableDetail Create(string detail) => new ImmutableDetail(detail);

      private ImmutableDetail(string detail)
      {
         Detail = detail;
      }

      public string Detail { get;}

    }
Run Code Online (Sandbox Code Playgroud)

我希望能够:

var immutableDetails = Mapper.Map<ImmutableDetail>(source);
Run Code Online (Sandbox Code Playgroud)

c# automapper

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

标签 统计

automapper ×1

c# ×1

express ×1

javascript ×1

node.js ×1

supertest ×1