所以我无法使调试器正常工作,我不断收到错误消息:“未捕获的ReferenceError:describe未定义”,我已经收集了需要导入测试框架的信息,但是我不诚实地知道这会或如何导入。我仍在学习,并且对编码还很陌生。这是我的vscode launcher.json的图片,从我的浅浅理解,问题就在这里,但是我缺乏如何解决它的知识。我很乐意提供更多或不同的信息来帮助解决问题。
var _; // globals
console.log('test');
describe('About Applying What We Have Learnt', function() {
var products;
beforeEach(function () {
products = [
{ name: 'Sonoma', ingredients: ['artichoke', 'sundried tomatoes', 'mushrooms'], containsNuts: false },
{ name: 'Pizza Primavera', ingredients: ['roma', 'sundried tomatoes', 'goats cheese', 'rosemary'], containsNuts: false },
{ name: 'South Of The Border', ingredients: ['black beans', 'jalapenos', 'mushrooms'], containsNuts: false },
{ name: 'Blue Moon', ingredients: ['blue cheese', 'garlic', 'walnuts'], containsNuts: true },
{ name: 'Taste Of Athens', ingredients: ['spinach', 'kalamata olives', 'sesame seeds'], containsNuts: true }
];
});
/*********************************************************************************/
it('given I\'m allergic to nuts and hate mushrooms, it should find a pizza I can eat (imperative)', function () {
var i, j, hasMushrooms;
var productsICanEat = [];
for (i = 0; i < products.length; i += 1) {
if (products[i].containsNuts === false) {
hasMushrooms = false;
for (j = 0; j < products[i].ingredients.length; j += 1) {
if (products[i].ingredients[j] === 'mushrooms') {
hasMushrooms = true;
}
}
if (!hasMushrooms) {
productsICanEat.push(products[i]);
}
}
}
expect(productsICanEat.length).toBe(1);
});
it('given I\'m allergic to nuts and hate mushrooms, it should find a pizza I can eat (functional)', function () {
var productsICanEat = [];
/* solve using filter() & all() / any() */
var pizzas = _(products.name).filter(function(product) {
return !product.containsNuts && !_.contains(product.ingredients, "mushrooms");
});
console.log(pizzas);
expect(productsICanEat.length).toBe(0);
});
/*********************************************************************************/
it('should add all the natural numbers below 1000 that are multiples of 3 or 5 (imperative)', function () {
var sum = 0;
for (var i = 1; i < 1000; i += 1) {
if (i % 3 === 0 || i % 5 === 0) {
sum += i;
}
}
expect(sum).toBe(FILL_ME_IN);
});
it('should add all the natural numbers below 1000 that are multiples of 3 or 5 (functional)', function () {
var sum = FILL_ME_IN; /* try chaining range() and reduce() */
expect(233168).toBe(FILL_ME_IN);
});
/*********************************************************************************/
it('should count the ingredient occurrence (imperative)', function () {
var ingredientCount = { '{ingredient name}': 0 };
for (i = 0; i < products.length; i += 1) {
for (j = 0; j < products[i].ingredients.length; j += 1) {
ingredientCount[products[i].ingredients[j]] = (ingredientCount[products[i].ingredients[j]] || 0) + 1;
}
}
expect(ingredientCount['mushrooms']).toBe(FILL_ME_IN);
});
it('should count the ingredient occurrence (functional)', function () {
var ingredientCount = { '{ingredient name}': 0 };
/* chain() together map(), flatten() and reduce() */
expect(ingredientCount['mushrooms']).toBe(FILL_ME_IN);
});
/*********************************************************************************/
/* UNCOMMENT FOR EXTRA CREDIT */
/*
it('should find the largest prime factor of a composite number', function () {
});
it('should find the largest palindrome made from the product of two 3 digit numbers', function () {
});
it('should find the smallest number divisible by each of the numbers 1 to 20', function () {
});
it('should find the difference between the sum of the squares and the square of the sums', function () {
});
it('should find the 10001st prime', function () {
});
*/
});