Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Node.js programming workflow - Tests, Code, Tests

Before you start developing something useful in Node.js, what's your process? Do you create tests on VowJS, Expresso? Do you use Selenium tests? When?

I'm interested in gaining a nice workflow to develop all my node.js applications similar to Rails (Cucumber, Rspec, Code).

Sorry for the amount of questions.

Let me know how it works out with you.

like image 929
donald Avatar asked Jan 17 '11 13:01

donald


People also ask

Where do I put tests in node project?

Open the root folder of your project and create a new folder called test in it. Inside the test folder, create a new file called test.

Can you use jest to test node?

Jest is a delightful JavaScript Testing Framework with a focus on simplicity. It works with projects using: Babel, TypeScript, Node, React, Angular, Vue and more!


2 Answers

The first thing I do is to write some documentation or do some wireframes. It helps to visualize what do I want to implement.

Then I code the interface/skeleton of my module/application, without implementations.

Then I add specs and tests using testosterone (although vows and expresso are more popular options) and I make them pass by implementing them.

If you find that a private method needs to be tested (it deals with I/O, has complex logic ...) move it to a another class and test it independently.

Stub your I/O calls as much as you can. Tests will run faster and you will not have to deal with side effects. I recommend gently.

like image 83
masylum Avatar answered Nov 15 '22 23:11

masylum


My testing methodology isn't up the snuff as in for example Java/Junit and I should really work more on this(improve). I should really practice TDD more.

I played a little bit with expresso and liked to the fact that you could generate code coverage reports. What I thought was missing was something like @before @beforeclass @after which you can find in java.

I also played a bit with nodeunit which does have setup/teardown. I still like to play a little bit more with this framework.

I don't like the vowjs syntax, but it is very popular BDD framework, so maybe I should use it (more) to get sold like a lot of other users. But for now I am going to dismiss vowjs.

I also played with zombie.js a litle bit which is also pretty cool. I also lately saw another cool testing framework which I can't remember the name, but there are luckily enough options to do testing in node.js.

The only thing I don't like is that the integration with IDE is not up to snuff in my opinion. The IDE I had for Java cannot be compared with what I have found for node.js, but I think with a little bit effort I can make a more useful programming environment. I will try and keep you guys informed about this progress.

P.S: But what I do like a lot is the npm package manager. When you compare it to for example maven you just say wow. I still has some minor bugs because it is still a young project. But still npm is very good in my opinion!

like image 37
Alfred Avatar answered Nov 16 '22 00:11

Alfred