Tag: mocha

蒙古语访问摩卡testing

所以我想在一些unit testing之后清理我的db(之前或之后)。 基本上,你将在我的代码块中看到的代码位于摩卡的afterAll块中。 我正在使用webdriver.io testrunner运行我的testing。 我不明白的是,如何从连接范围之外使用db的东西,请参阅: function createConnection(){ MongoClient.connect('mongodb://127.0.0.1:24001/meteor', function(err, db) { if (err) throw err; console.log("connected to the mongoDB !"); let myCollection = db.collection('test_collection'); // do stuff with myCollection }); } 如果可能的话,我宁愿像这样: function createConnection(){ MongoClient.connect('mongodb://127.0.0.1:24001/meteor', function(err, db){ if (err) throw err; } } function getCollection(name){ return db.collection(name) //don't have db at this scope, problem? […]

我可以让柴的expect.to.thot.throw同步吗?

我有一个代码片段,我正在Chai和Pacttesting。 它看起来像这样: var myVerify = () => { provider.verify().then(() => { console.log('B verified') done() }) } expect(myVerify).to.not.throw() 这样做是有效的,但是在继续进行testing之前,要做一个包装函数来确保我等待Pact的validation完成。 协议有一些内部状态,完成后会清除。 如果我只是打电话给这个: 期待(provider.verify())。to.not.throw() 那么它将与其他testing冲突。 这段代码似乎对我很好,但是非常混乱。 它有一个更简单的方法来完成这个?

使用sinon和mocha来保存pg-promise

假设我有一个以下模块,作为database.js const initOptions = {} const pgp = require('pg-promise')(initOptions) const config = require('../../config') const db = pgp({ host: config.database.host, port: config.database.port, database: config.database.database, user: config.database.user, password: config.database.password }) module.exports = db 和下面的模块一样create.js const db = require('./database') function create (name) { return new Promise((resolve, reject) => { db.func('create', name) .then(data => { return resolve(data) }) .catch(err […]

如何重置/恢复到原来的产卵

我正在尝试使用模拟生成模块来模拟生成过程。 随后的testing失败了,因为我无法恢复模拟。 我试着用mySpawn.resotre()但没有这样的function。 我检查了代码仍然无法弄清楚。 任何人都可以请帮助我。

摩卡正确运行,但显示未定义

我使用mocha来testing我的nodejs代码,testing运行正常,但是当我使用mocha test.js来运行testing时,似乎我传递给describe的string不显示。 代码如下: var assert = require("should"); describe("FrontEndTest", function(){ describe('websocket establish connection', function(){ it('should establish connection correctly', function(done){ var res; var wsClient = create_ws_client('ws://127.0.0.1:9876','brain_burst'); wsClient.on('connect', function(connection){ res = true; res.should.be.true; done(); }); wsClient.on('connectFailed', function(error){ res = false; res.should.be.true; done(); }); console.log(res); }); it('should disconnected by server.(also, that may crash server if there is not a […]

用Mochatestinglocomotive.js

我正在构build一个locomotive.js的应用程序,我正在使用Mochatesting框架构buildtesting套件。 我也是一般的TDD / BDD的新手,所以请考虑到这一点。 我很好奇,如果任何人都可以指出我在一个好的方向开始testing一个基于机车的应用程序。 我最大的问题是: 我如何testing一个控制器的操作? 我可以testing初始化​​器吗? 围绕创buildtesting请求对象有最佳做法吗?

在Node中parsingJSON API

我正在为外部API构build一个节点包装器,并且在parsingJSON响应时遇到问题。 以下代码提出请求: https = require "https" querystring = require "querystring" API_HOST = "api.lob.com" API_PATH = "/v1" startResponseHandler = (req, cb) -> if typeof cb isnt "function" then console.log "Error: callback needs to be a function!" req.on 'response', (res) -> response = '' res.setEncoding 'utf8' res.on 'data', (stream) -> response += stream res.on 'end', () -> […]

为什么摩卡testing不能运行在特拉维斯,但本地?

我有这个 – https://github.com/eppz/eppz-js – 安装在哪里testing运行本地就好( 4 passing )。 但是在Travis CI上部署的testing都没有runnig ( 0 passing )。 请参阅package.json , Gruntfile.js , .travis.yml , Travis构build 。 有人可以简单的看一下吗? // Local Running "mocha:test" (mocha) task Testing: Tests/index.html >> 4 passed! (0.00s) Done, without errors. // Travis CI Running "mocha:test" (mocha) task >> 0 passed! (0.00s) Done, without errors.

节点模块导出返回未定义

我想创build一个节点模块来抓取一些post,但我得到一个未定义的错误。 Index.js var request = require('request'); function getPosts() { var options = { url: 'https://myapi.com/posts.json', headers: { 'User-Agent': 'request' } }; function callback(error, response, body) { if (!error && response.statusCode == 200) { return JSON.parse(body); } } request(options, callback); } exports.posts = getPosts; testing/ index.js var should = require('chai').should(), myModule = require('../index'); describe('Posts call', function […]

selenium – 点击一个button,直到出现一些元素

我正在尝试点击Yopmail网站上的“ Check for new emailsbutton,直到收到邮件(因为收件箱一开始是空的)。 我正在使用Selenium的NodeJS实现,使用Mocha运行我的testing。 下面是我正在尝试点击,直到元素出现: driver.get('http://yopmail.com'); driver.wait(until.elementLocated(By.css('#f .sbut'))); driver.findElement(By.name('login')).sendKeys(name); driver.findElement(By.css('#f .sbut')).sendKeys(Key.ENTER); driver.wait(until.elementLocated(By.id('ifinbox')));// Switching iframe driver.switchTo().frame("ifinbox"); bool = driver.isElementPresent("m1"); while (!bool) { driver.switchTo().defaultContent(); driver.findElement(By.id("lrefr")).click(); driver.sleep(500);// 500ms driver.switchTo().frame("ifinbox"); bool = driver.isElementPresent("m1"); } ligne bool = driver.isElementPresent("m1"); 失败,并显示以下错误消息: Error: the error {} was thrown, throw an Error 🙂 at Array.forEach (native) 我想我不能build立一个承诺的while循环…也许…但是,我真的不明白为什么它会失败,以及如何正确地写这个while循环。 任何build议是最受欢迎的!