Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialJonathan Grieve
Treehouse Moderator 91,253 PointsI'm lost. Mocha command isn't working
I'll be honest from the start in that although I'd taken the JavaScript Unit Testing course I wasn't very successful with it, but I do have some idea at least of how to run tests in this course.
I believe I've set up all the packages I need to, to follow along.
npm install selenium-webdriver
npm install -g mocha
npm install -g chromedriver
npm install -g geckodriver
I downloaded the course files but am I right in thinking I need to use a separate directory to save the invitees.js
file to for this video? I've done that, and have a separate directory. I've added the test directory and the invitees file to it but the mocha command does not work.
$ mocha
Warning: Could not find any test files matching pattern: test
No test files found
Help! :)
// Run `node`, demo `require("selenium-webdriver")`
const {Browser, By, Key, until} = require("selenium-webdriver");
const {suite} = require("selenium-webdriver/testing");
const assert = require('assert');
//connect to URL or "localhost"
const url = "https://treehouse-projects.github.io/selenium-webdriver-intermediate/waits/app/index.html";
suite(function(env) {
describe('RSVP site', function() {
it('has invitee list', function() {
env.builder().build().then(driver => {
driver.get(url)
.then(() => driver.findElements(By.id('invitedList')))
.then(elements => assert(elements.length > 0))
.then(() => driver.quit());
});
});
});
});
6 Answers
neilsatterfield
Front End Web Development Techdegree Graduate 18,018 PointsHi Jonathan Grieve, I was able to get the mocha command to work when I went through the exercise, and your code looks the same as mine.
- Is your invitees.js file inside a folder/directory named 'test'?
- When I use npm install on Windows 10 (which I believe you are using), I no longer use Git Bash. I use the built in Windows command prompt, and I right-click on it in the start menu so I can run it as an Administrator. That gives me less errors during installs. The mocha command works for Chrome, but for some reason it doesn't recognize the Firefox/gecko driver. Let me know if that helps.
Ihor Khrystiuk
1,643 PointsIf you type the mocha command on Windows(in my case it is a VS Code and git bash terminal) and it seems not working, you code should be like this one:
const { Browser, By, Key, until } = require("selenium-webdriver");
const assert = require("assert");
describe("RSVP site", function() {
it("has invitee list", function() {
assert(1 === 1);
});
});
neilsatterfield
Front End Web Development Techdegree Graduate 18,018 PointsWhatever makes it work, that's all that matters. :) Glad you are able to move forward now.
Erica Holland
13,621 PointsAlso, if testing in chrome add require("chromedriver"); to the top of the space. I was having issues with env not defined and mocha saying tests are failing. adding require("chromedriver"); to the top resolved those issues.
require("chromedriver"); const {Browser, By, Key, until} = require("selenium-webdriver"); const {suite} = require("selenium-webdriver/testing"); const assert = require('assert');
Willy Tedyanto
2,597 PointsYou should run mocha command from the parent directory of test directory.
I believe you have run mocha inside test directory.
Jacob Eliasson
3,730 PointsI can't get the mocha command to work. Whenever I run it in the Terminal, a text just appears with "Error: No test files found". my location in the CLI is project, the name of the folder that I created the test-folder in, which holds my JS file.
Is there any easy fix to this or is there something I have missed here?
Tried running it both in Macs terminal window and VS Code Terminal
Jonathan Grieve
Treehouse Moderator 91,253 PointsJonathan Grieve
Treehouse Moderator 91,253 PointsIt's working!
It's weird though. I've just tested
mocha
in VS Code's integrated terminal and it's run the test successfully.I've just done the same with the Git Bash standalone executable. Same result.
I'm sure, even now, I tested the mocha command inside the correct directory (I made an s1v3 directory) and the test pattern simply was never recognised. Seems like I need to get my head tested as well as selenium. ??