小编Cis*_*Bae的帖子

Mocha:如何测试Express渲染视图

- 背景

我正在尝试测试Express应用程序.这对我来说是一个爱好项目,所以我没有使用Express来提供JSON api(通常这样做).

- 问题

问题是,我无法找到一种方法来测试视图的内容,以确保页面实际上是针对项目本身的视图文件呈现的.

- 我试过的

例如,我无法测试一个简单的索引页面,因为该jade文件以extends layout.这使得难以测试是否呈现动态内容.

有没有人建议测试视图是否实际呈现?

it ('renders the index page', function(done) {
  var jade = require('jade');
  var should = require('should');
  var fs = require('fs');

  supertest(app)
    .get('/')
    .expect(200)
    .end(function(err, res) {
      var rawJade = fs.readFileSync('./views/index.jade').toString();
      res.text.should.equal(rawJade.convertToHtml()); // jade supports a function like this
    });
)};
Run Code Online (Sandbox Code Playgroud)

testing rendering mocha.js node.js

7
推荐指数
1
解决办法
1859
查看次数

如何在C中有条件地编译main()?

我正在研究C中的一个小型开源项目,我正在尝试使用带有C的测试框架(框架min_unit).

我有一个foo.h原型文件,并foo.c与实现.

在我的测试文件中tests.c,我有

#include "../test_framework/min_unit.h"
#include "foo.c"

... test cases ...
Run Code Online (Sandbox Code Playgroud)

问题是,因为我有一个main()函数foo.c(我需要编译它),我无法编译,tests.c因为我得到一个错误,指出

note: previous definition of ‘main’ was here
int main() {
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否有一种方法可以使main()函数处于foo.c有条件状态,以便在运行时它不会编译tests.c?只需要一遍又一遍地删除和添加main就太烦人了.

c testing program-entry-point compilation

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

C内存泄漏与valgrind

我正在尝试在开源项目中使用C中的链表实现队列.我已经实现了Queue,编写了单元测试,并使用valgrind解决了大部分内存泄漏问题.

现在的问题是,我一直试图找到这几个小时的最后8个字节的泄漏,我似乎无法弄明白.

这是valgrind的输出:

==25806== 8 bytes in 1 blocks are definitely lost in loss record 1 of 1
==25806==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==25806==    by 0x80484E3: node_create (in /home/karysto/c-datastructures/queue/tests.out)
==25806==    by 0x8048511: enqueue (in /home/karysto/c-datastructures/queue/tests.out)
==25806==    by 0x8048851: test_dequeue_updates_size (in /home/karysto/c-datastructures/queue/tests.out)
==25806==    by 0x8048978: test_suite (in /home/karysto/c-datastructures/queue/tests.out)
==25806==    by 0x80489B0: main (in /home/karysto/c-datastructures/queue/tests.out)
==25806== 
==25806== LEAK SUMMARY:
==25806==    definitely lost: 8 bytes in 1 blocks
==25806==    indirectly lost: 0 bytes in 0 blocks
==25806==      possibly lost: 0 bytes in …
Run Code Online (Sandbox Code Playgroud)

c valgrind pointers memory-leaks

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