gpt4 book ai didi

javascript - 与 Git/GitHub 协作使用 Node 测试代码

转载 作者:行者123 更新时间:2023-11-28 21:21:28 25 4
gpt4 key购买 nike

我最近完成了一项编码测试,该测试要求我确保我的所有代码都使用 Node (npm 测试)通过。在九个测试中,我全部都失败了,尽管我已经在我自己的环境中成功地测试了我的代码。对于每个问题,测试都表明我的代码返回“未定义”,我认为这可能更像是一个 git/github 混淆问题,而不是错误的代码。我在 git/github 上学了一整门课,还是找不到问题!

我已经完成了测试说明中列出的所有步骤(直到第 5 步,因为我无法通过他们的测试!): https://github.com/LambdaSchool/Lambda-Challenge

这是我的代码:

/*
Work through the problems in this file. As you work through each
problem periodically run: npm test
Your function name and the string must match the instructions exactly
otherwise the tests will fail.
After writing your function uncomment the matching function reference
at the bottom of the file.
*/

/* 1. Write a function called helloWorld that returns the string
'Hello World!'. */

function helloWorld() {
return 'Hello World!';
}


/*
2. Write a function called lambdaSchool that has a single parameter
called num.
num will be a positive integer.
If num is divisible by 3 return the string 'Lambda'
If num is divisible by 5 return the string 'School'
If num is divisible by 3 AND 5 return the string 'Lambda School' (notice the space)
If num is NOT divisible by 3 or 5 then return num.
Example:
lambdaSchool(15); // returns 'Lambda School'
lambdaSchool(8); // returns 8
*/

function lambdaSchool(num) {
if (num % 5 === 0 && num % 3 === 0) {
return "Lambda School";
} else if (num % 5 === 0) {
return "School";
} else if (num % 3 === 0) {
return "Lambda";
} else {
return num;
}
}

/*
3. Write a function called longestString that has a single parameter
called strs.
strs will be an array of strings.
Return the longest string that is in strs.
If there is a tie for the longest string then return the one that
occurs first.
Example:
longestString(['hi', 'hello', 'ni hao', 'guten tag']); //
returns 'guten tag'
longestString(['JavaScript', 'HTML', 'CSS']); // returns
'JavaScript'
*/
var longest = '';
function longestString(strs) {
for (i = 0; i < strs.length; i++) {
if (strs[i].length > longest.length) {
longest = strs[i];
}
}
return longest;
}

/*
4. Write a function called computeUserAverageAge that has a single
parameter called users
users is an array of user objects.
Each user object has a property called age that is a number.
Compute the average age of all user objects in the users array.
Round off the decimals if needed and return the number.
Example:
const users = [{
name: 'Brendan Eich',
age: 56,
}, {
name: 'Linus Torvalds',
age: 48,
}, {
name: 'Margaret Hamilton',
age: 81,
}];
computeUserAverageAge(users); // returns 62 (This number is
rounded up from 61.6666)
*/
function computeUserAverageAge(users) {
return Math.round(users.reduce((acc, obj) => acc + obj.age, 0) /
users.length);
};

module.exports = {
helloWorld,
lambdaSchool,
longestString,
computeUserAverageAge
};

这是 Node 测试(npm 测试)的结果:

FAIL  ./assessment.test.js
Lambda School Precourse Assessment
helloWorld
✕ should return a string (10ms)
✕ should return the string 'Hello World!' (1ms)
lambdaSchool
✕ should return 'Lambda' for a number divisible by 3
✕ should return 'School' for a number divisible by 5 (1ms)
✕ should return 'Lambda School' for a number divisible by 3 and 5
longestString
✕ should return the longest string in the array
✕ should return the first longest string if there is a tie (1ms)
computeUserAverageAge
✕ should return the average age of the users
✕ should round the average before returning it (1ms)

● Lambda School Precourse Assessment › helloWorld › should return
a
string

expect(received).toBe(expected) // Object.is equality

Expected value to be:
"string"
Received:
"undefined"

9 | describe('helloWorld', () => {
10 | it('should return a string', () => {
> 11 | expect(typeof helloWorld()).toBe('string');
12 | });
13 | it('should return the string \'Hello World!\'', () => {
14 | expect(helloWorld()).toBe('Hello World!');

at Object.it (assessment.test.js:11:35)

● Lambda School Precourse Assessment › helloWorld › should return
the
string 'Hello World!'

expect(received).toBe(expected) // Object.is equality

Expected value to be:
"Hello World!"
Received:
undefined

Difference:

Comparing two different types of values. Expected string but received undefined.

12 | });
13 | it('should return the string \'Hello World!\'', () => {
> 14 | expect(helloWorld()).toBe('Hello World!');
15 | });
16 | });
17 |

at Object.it (assessment.test.js:14:28)

● Lambda School Precourse Assessment › lambdaSchool › should
return 'Lambda' for a number divisible by 3

expect(received).toBe(expected) // Object.is equality

Expected value to be:
"Lambda"
Received:
undefined

Difference:

Comparing two different types of values. Expected string but
received undefined.

18 | describe('lambdaSchool', () => {
19 | it('should return \'Lambda\' for a number divisible by 3',
() => {
> 20 | expect(lambdaSchool(12)).toBe('Lambda');
21 | expect(lambdaSchool(63)).toBe('Lambda');
22 | expect(lambdaSchool(999)).toBe('Lambda');
23 | });

at Object.it (assessment.test.js:20:32)

● Lambda School Precourse Assessment › lambdaSchool › should
return
'School' for a number divisible by 5

expect(received).toBe(expected) // Object.is equality

Expected value to be:
"School"
Received:
undefined

Difference:

Comparing two different types of values. Expected string but
received undefined.

23 | });
24 | it('should return \'School\' for a number divisible by 5',
() => {
> 25 | expect(lambdaSchool(10)).toBe('School');
26 | expect(lambdaSchool(155)).toBe('School');
27 | expect(lambdaSchool(1000)).toBe('School');
28 | });

at Object.it (assessment.test.js:25:32)

● Lambda School Precourse Assessment › lambdaSchool › should
return
'Lambda School' for a number divisible by 3 and 5

expect(received).toBe(expected) // Object.is equality

Expected value to be:
"Lambda School"
Received:
undefined

Difference:

Comparing two different types of values. Expected string but
received undefined.

28 | });
29 | it('should return \'Lambda School\' for a number divisible
by 3 and 5', () => {
> 30 | expect(lambdaSchool(15)).toBe('Lambda School');
31 | expect(lambdaSchool(30)).toBe('Lambda School');
32 | expect(lambdaSchool(180)).toBe('Lambda School');
33 | });

at Object.it (assessment.test.js:30:32)

● Lambda School Precourse Assessment › longestString › should return
the
longest string in the array

expect(received).toBe(expected) // Object.is equality

Expected value to be:
"function"
Received:
undefined

Difference:

Comparing two different types of values. Expected string but
received undefined.

36 | describe('longestString', () => {
37 | it('should return the longest string in the array', () => {
> 38 | expect(longestString(['array', 'object',
'function'])).toBe('function');
39 | expect(longestString(['C++', 'JavaScript',
'Python'])).toBe('JavaScript');
40 | });
41 | it('should return the first longest string if there is a
tie', () => {

at Object.it (assessment.test.js:38:62)

● Lambda School Precourse Assessment › longestString › should return
the
first longest string if there is a tie

expect(received).toBe(expected) // Object.is equality

Expected value to be:
"C++"
Received:
undefined

Difference:

Comparing two different types of values. Expected string but
received undefined.

40 | });
41 | it('should return the first longest string if there is a
tie', () => {
> 42 | expect(longestString(['C++', 'CSS', 'JWT'])).toBe('C++');
43 | });
44 | });
45 |

at Object.it (assessment.test.js:42:52)

● Lambda School Precourse Assessment › computeUserAverageAge › should
return the average age of the users

expect(received).toBe(expected) // Object.is equality

Expected value to be:
62
Received:
undefined

Difference:

Comparing two different types of values. Expected number but
received undefined.

66 | }];
67 | it('should return the average age of the users', () => {
> 68 | expect(computeUserAverageAge(authors)).toBe(62);
69 | });
70 | it('should round the average before returning it', () => {
71 |
expect(computeUserAverageAge(computerScientists)).toBe(62);

at Object.it (assessment.test.js:68:46)

● Lambda School Precourse Assessment › computeUserAverageAge › should
round the average before returning it

expect(received).toBe(expected) // Object.is equality

Expected value to be:
62
Received:
undefined

Difference:

Comparing two different types of values. Expected number but
received undefined.

69 | });
70 | it('should round the average before returning it', () => {
> 71 |
expect(computeUserAverageAge(computerScientists)).toBe(62);
72 | });
73 | });
74 | });

at Object.it (assessment.test.js:71:57)

Test Suites: 1 failed, 1 total
Tests: 9 failed, 9 total
Snapshots: 0 total
Time: 0.613s, estimated 1s
Ran all test suites matching /assessment.test.js/i.
npm ERR! Test failed. See above for more details.

非常感谢您的时间和耐心!

最佳答案

在您进行编辑后,您是否保存了您的代码?如果您输入以下 git commit -a -m 'My changes to the code'。然后 git push。

关于javascript - 与 Git/GitHub 协作使用 Node 测试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50825426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com