0

問題は次のとおりです。モジュールとしてエクスポートされるクラス WPSManager があります。

function WPSManager(dbclient) {
	var databaseclient = dbclient;

	this.getWrappers = function(excludeid, callback) {
		var query = "SELECT * FROM public.wps_methods WHERE id <> " + excludeid + " AND id > 88;";

		databaseclient.query(query, function(error, rows, fields) {
			callback(rows.rows);
		});
	} //end getWrappers()
} //end class

module.exports = WPSManager;

クエリの結果をテストするにはどうすればよいですか? nodeunitを使用したバリアント( のコールバックでアサーションを提供する) と、 mochagetWrappers()を使用したバリアント(以下の例)を試しました。それらはすべて、私が提供するコールバックでアサーションを行っていません。

delete require.cache;
var assert     = require("assert");
var pg         = require("pg");
var WPSManager = require("./WPSManager");

/**
 * Database client initiation.
 */

var dbclient = new pg.Client("***");
dbclient.connect();
 
describe('WPSManager', function(){
  describe('getWrappers()', function(){
    it('should return list of wrappers', function(){
	  var wpsmanager = new WPSManager(dbclient);

	  wpsmanager.getWrappers(14, function(data) {
	    // This assertion is not performed
        assert.equal(5, data.length);
		done();
	  });	
    })
  })
});

それで、ここに質問があります-NodeJSの単体テストツールでこの質問を解決できますか、それともassert()を使用して利用できるものだけですか? アサートは素晴らしいですが、それほど派手ではありません:)

4

1 に答える 1