diff --git a/lib/nodejs/test/binary.test.js b/lib/nodejs/test/binary.test.js
index c7f6f72..58feebf 100644
--- a/lib/nodejs/test/binary.test.js
+++ b/lib/nodejs/test/binary.test.js
@@ -22,11 +22,11 @@
 
 module.exports = testCase({
   "Should read signed byte": function(test){
-    test.equal(1, binary.readByte([0x01]));
-    test.equal(-1, binary.readByte([0xFF]));
+    test.strictEqual(1, binary.readByte(0x01));
+    test.strictEqual(-1, binary.readByte(0xFF));
     
-    test.equal(127, binary.readByte([0x7F]));
-    test.equal(-128, binary.readByte([0x80]));
+    test.strictEqual(127, binary.readByte(0x7F));
+    test.strictEqual(-128, binary.readByte(0x80));
     test.done();
   },
   "Should write byte": function(test){
@@ -35,14 +35,14 @@
   	test.done();
   },
   "Should read I16": function(test) {
-    test.equal(0, binary.readI16([0x00, 0x00]));
-    test.equal(1, binary.readI16([0x00, 0x01]));
-    test.equal(-1, binary.readI16([0xff, 0xff]));
+    test.strictEqual(0, binary.readI16([0x00, 0x00]));
+    test.strictEqual(1, binary.readI16([0x00, 0x01]));
+    test.strictEqual(-1, binary.readI16([0xff, 0xff]));
 
     // Min I16
-    test.equal(-32768, binary.readI16([0x80, 0x00]));
+    test.strictEqual(-32768, binary.readI16([0x80, 0x00]));
     // Max I16
-    test.equal(32767, binary.readI16([0x7f, 0xff]));
+    test.strictEqual(32767, binary.readI16([0x7f, 0xff]));
     test.done();
   },
 
@@ -59,14 +59,14 @@
   },
 
   "Should read I32": function(test) {
-    test.equal(0, binary.readI32([0x00, 0x00, 0x00, 0x00]));
-    test.equal(1, binary.readI32([0x00, 0x00, 0x00, 0x01]));
-    test.equal(-1, binary.readI32([0xff, 0xff, 0xff, 0xff]));
+    test.strictEqual(0, binary.readI32([0x00, 0x00, 0x00, 0x00]));
+    test.strictEqual(1, binary.readI32([0x00, 0x00, 0x00, 0x01]));
+    test.strictEqual(-1, binary.readI32([0xff, 0xff, 0xff, 0xff]));
 
     // Min I32
-    test.equal(-2147483648, binary.readI32([0x80, 0x00, 0x00, 0x00]));
+    test.strictEqual(-2147483648, binary.readI32([0x80, 0x00, 0x00, 0x00]));
     // Max I32
-    test.equal(2147483647, binary.readI32([0x7f, 0xff, 0xff, 0xff]));
+    test.strictEqual(2147483647, binary.readI32([0x7f, 0xff, 0xff, 0xff]));
     test.done();
   },
 
@@ -83,27 +83,27 @@
   },
 
   "Should read doubles": function(test) {
-    test.equal(0, binary.readDouble([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
-    test.equal(0, binary.readDouble([0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
-    test.equal(1, binary.readDouble([0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
-    test.equal(2, binary.readDouble([0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
-    test.equal(-2, binary.readDouble([0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+    test.strictEqual(0, binary.readDouble([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+    test.strictEqual(0, binary.readDouble([0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+    test.strictEqual(1, binary.readDouble([0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+    test.strictEqual(2, binary.readDouble([0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+    test.strictEqual(-2, binary.readDouble([0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
 
-    test.equal(Math.PI, binary.readDouble([0x40, 0x9, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18]))
+    test.strictEqual(Math.PI, binary.readDouble([0x40, 0x9, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18]))
 
-    test.equal(Infinity, binary.readDouble([0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
-    test.equal(-Infinity, binary.readDouble([0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+    test.strictEqual(Infinity, binary.readDouble([0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+    test.strictEqual(-Infinity, binary.readDouble([0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
 
     test.ok(isNaN(binary.readDouble([0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])))
 
-    test.equal(1/3, binary.readDouble([0x3f, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]))
+    test.strictEqual(1/3, binary.readDouble([0x3f, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]))
 
     // Min subnormal positive double
-    test.equal(4.9406564584124654e-324, binary.readDouble([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01]))
+    test.strictEqual(4.9406564584124654e-324, binary.readDouble([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01]))
     // Min normal positive double
-    test.equal(2.2250738585072014e-308, binary.readDouble([0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+    test.strictEqual(2.2250738585072014e-308, binary.readDouble([0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
     // Max positive double
-    test.equal(1.7976931348623157e308, binary.readDouble([0x7f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]))
+    test.strictEqual(1.7976931348623157e308, binary.readDouble([0x7f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]))
   	test.done();
   },
 
@@ -130,4 +130,4 @@
     test.deepEqual([0x7f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff], binary.writeDouble([], 1.7976931348623157e308)); 
   	test.done();
   }
-});
\ No newline at end of file
+});
diff --git a/lib/nodejs/test/testAll.sh b/lib/nodejs/test/testAll.sh
index 4008eec..b96c9ee 100755
--- a/lib/nodejs/test/testAll.sh
+++ b/lib/nodejs/test/testAll.sh
@@ -80,7 +80,7 @@
 
 #unit tests
 
-node ${DIR}/binary.test.js || TESTOK=1
+${DIR}/../node_modules/nodeunit/bin/nodeunit ${DIR}/binary.test.js || TESTOK=1
 
 #integration tests
 
