Skip to content

[Unit Testing] First run of tns test ios --emulator fails #1123

@ikoevska

Description

@ikoevska

Steps to reproduce.

  1. Create a new project and switch to its dir.
  2. Run tns test init --framework jasmine.
  3. Run rm -rf node_modules/.bin. (You only need to run this if we still don't have the code which ignores .bin during prepare.)
  4. Run tns test ios --emulator.

After the project preparing and building successfully, I get this in the log and my tests never run.

** BUILD SUCCEEDED **

Project successfully built
Using  /Volumes/HDD/cli-projects/jasmine2/platforms/ios/build/emulator/jasmine2.app
Cleaning up before starting the iOS Simulator
Starting iOS Simulator
projectFilesPath = /Volumes/HDD/cli-projects/jasmine2/platforms/ios/jasmine2/app applicationPath = null
shell.js: internal error
TypeError: Arguments to path.join must be strings
    at Object.posix.join (path.js:488:13)
    at /usr/local/lib/node_modules/nativescript/node_modules/shelljs/src/cp.js:171:28
    at Array.forEach (native)
    at Object._cp (/usr/local/lib/node_modules/nativescript/node_modules/shelljs/src/cp.js:157:11)
    at Object.cp (/usr/local/lib/node_modules/nativescript/node_modules/shelljs/src/common.js:186:23)
    at syncAction (/usr/local/lib/node_modules/nativescript/lib/common/mobile/ios/ios-emulator-services.js:57:26)
    at /usr/local/lib/node_modules/nativescript/lib/common/mobile/ios/ios-emulator-services.js:196:13
    at Function.settle (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:224:26)
    at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:509:10)
    at /usr/local/lib/node_modules/nativescript/lib/common/services/usb-livesync-service-base.js:75:112
    at Function.settle (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:224:26)
    at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:509:10)
    at /usr/local/lib/node_modules/nativescript/lib/services/test-execution-service.js:68:368
    at Function.settle (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:224:26)
    at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:509:10)
    at /usr/local/lib/node_modules/nativescript/lib/common/services/commands-service.js:54:55
30 10 2015 14:59:51.799:INFO [launcher]: NativeScript deployment completed with code 1

A second run of tns test ios --emulator passes. However, if you delete the app from the emulator, the command fails again.

Note that we have added a console log message according to which we have an applicationPath=null which causes the command to fail.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions