Error silenced when test not found/import inside test not found. #212

Open
chenglou opened this Issue Mar 22, 2013 · 17 comments

Comments

Projects
None yet
6 participants
jasmine-node spec/nonexistentFile.spec.js

This doesn't throw an error. Neither does this:

var nonexsitent = require("../noexistentFile")

then

jasmine-node spec/theAboveTest.spec.js

I don't remember jasmine doing this. Maybe it's because I upgraded to Node 0.10.1?

Contributor

tebriel commented Mar 25, 2013

In v0.8.21 I get:

cmoultrie@Sauron~/G/jasmine-node (master) $ jasmine-node spec/SampleSpecs.jsa

fs.js:524
  return binding.stat(pathModule._makeLong(path));
                 ^
Error: ENOENT, no such file or directory '/Users/cmoultrie/Git/jasmine-node/spec/SampleSpecs.jsa'
    at Object.fs.statSync (fs.js:524:18)
    at Object.jasmine.loadHelpersInFolder (/usr/local/lib/node_modules/jasmine-node/lib/jasmine-node/index.js:42:20)
    at Object.<anonymous> (/usr/local/lib/node_modules/jasmine-node/lib/jasmine-node/cli.js:184:11)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/jasmine-node/bin/jasmine-node:7:1)

and

cmoultrie@Sauron~/G/jasmine-node (master) $ node
> require("doesntexist")
Error: Cannot find module 'doesntexist'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at repl:1:2
    at REPLServer.self.eval (repl.js:109:21)
    at Interface.<anonymous> (repl.js:248:12)
    at Interface.EventEmitter.emit (events.js:96:17)
    at Interface._onLine (readline.js:200:10)
    at Interface._line (readline.js:518:8)
> 

So yes, looks like that's a 0.10.1 issue. But maybe I should add a test to see if the file exists? It doesn't seem like a bad plan....

pako1337 commented Apr 6, 2013

Any workaround for this issue? I'm completely new to the whole CoffeeScript and Jasmine-node fun stuff so I hate wasting time figuring out what's wrong (when nothing seems wrong in the first place) with my tests so they don't run at all.

Contributor

tebriel commented Apr 6, 2013

What version of node and coffee-script are you running? I saw in 0.10.0 that imports just started failing silently instead of crashing.

On Apr 6, 2013, at 11:12 AM, "Jarek Porwoł" notifications@github.com wrote:

Any workaround for this issue? I'm completely new to the whole CoffeeScript and Jasmine-node fun stuff so I hate wasting time figuring out what's wrong (when nothing seems wrong in the first place) with my tests so they don't run at all.


Reply to this email directly or view it on GitHub.

chenglou commented Apr 6, 2013

For me, CoffeeScript has nothing to do with it, since it failed silently between my CoffeeScript updates (still, I'm using 1.6.2).

pako1337 commented Apr 6, 2013

node version: v0.10.3
coffee version: 1.6.2
So latest versions I think, since I've installed them few days ago.

Contributor

tebriel commented Apr 6, 2013

Okay. Can you open up the node repl and type: require('fakename') and see if the repl exceptions? I'm not near a box I can try that on. If it does exception in your version of node then something is wrong, otherwise it's a "feature" of the new node versions.

chenglou commented Apr 6, 2013

On node 0.10.1 for me, it still throws a module not found exception.

Contributor

tebriel commented Apr 6, 2013

Okay, I'll promote this to a real issue and try to figure out what is going on. It may be that as the vm gets built up it supresses that stuff in its sandbox.

Now a part of 1.5.1 milestone. I will hopefully figure out something this weekend.

Contributor

tebriel commented Apr 10, 2013

@chenglou @pako1337 Can you guys test the beta1.5.1 branch? This fixes it in all my tests, but I'd like a second set of eyes.

Seems to be working. Using normal jasmine-node non-existing file error gets suppressed. Using beta version it gives following output:

d:\Programming\CoffeeScript\Jasmine-Node beta test\jasmine-node>node lib\jasmine-node\cli.js --coffee s
Exception loading: d:\Programming\CoffeeScript\Jasmine-Node beta test\jasmine-node\s/s.spec.coffee
{ [Error: Cannot find module '../nop'] code: 'MODULE_NOT_FOUND' }

Finished in 0 seconds
0 tests, 0 assertions, 0 failures

So it looks ok for me.
I hope that's what you expected - took me some time to get my head around some issues while trying to run this beta version :)

I should probably raise another issue for other (e.g. compilation) messages being suppressed?

Contributor

tebriel commented Apr 10, 2013

As in, exceptions while passing the file to coffee-script for compilation?

And yes, that was the output I was expecting.

Yeah it works. Running a missing file throws the error now.
And yes, exceptions while compiling. Right now it silently "errors" with 0 tests, 0 assertions, 0 failures.

Contributor

tebriel commented Apr 11, 2013

Okay, I'll look into that, hopefully it'll be pretty much the same.

Contributor

tebriel commented Apr 12, 2013

The previously mentioned fix is now on NPM as 1.6.0. I have not fixed the Coffeescript compilation issue, but that'll be in 1.6.1.

Having a similar issue. I am getting a 'MODULE_NOT_FOUND' output, but I expect that to completely fail the test run and show an error in red. Instead, it shows everything running fine, marks passing tests in green and hides the fact that a module could not be loaded.

$> jasmine-node --matchall tests/
Exception loading: /tests/small/rpc/acm-message-test.js
{ [Error: Cannot find module '../../../lib/rpc/request-info'] code: 'MODULE_NOT_FOUND' }
...........

Finished in 0.009 seconds
11 tests, 13 assertions, 0 failures

Is it possible to tell jasmine-node to fail if there is an exception? I tried adding --captureExceptions thinking I would get this functionality, but no dice.

Thoughts?

node version v0.10.5
jasmine-node version 1.7.0

@Mogztter Mogztter referenced this issue in asciidoctor/asciidoctor.js Oct 10, 2015

Closed

Travis CI - Test should fail #130

atang020 commented Oct 7, 2016

Any updates on this issue? I see it as still open? I am also trying to raise console exceptions errors when I am importing something in my Jasmine test that cannot be found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment