由于某种原因,我在此练习中遇到了问题。我尝试了各种迭代,但是在此测试中仍然失败:
xtest('correctly handles invalid input', () => {
expect(() => toRna('U')).toThrow(new Error('Invalid input DNA.'));
});
这是我的代码。如果有人能发现问题,我将永远感激不已。
const toRna = function(dna) {
const parseDna = dna.split("");
let rna = "";
for (let i = 0; i < parseDna.length; i++) {
if (parseDna[i] === "G") {
rna += "C";
} else if (parseDna[i] === "C") {
rna += "G";
} else if (parseDna[i] === "T") {
rna += "A";
} else if (parseDna[i] === "A") {
rna += "U";
} else {
throw new Error("Invalid input DNA.");
// This part doesn't work for some reason.
}
}
return rna;
};
console.log(toRna("ACGT"));
这是它正在运行的测试类:
import { toRna } from './rna-transcription';
describe('Transcriptor', () => {
test('correctly handles invalid input', () => {
expect(() => toRna('U')).toThrow(new Error('Invalid input DNA.'));
});
test('correctly handles completely invalid input', () => {
expect(() => toRna('XXX')).toThrow(new Error('Invalid input DNA.'));
});
test('correctly handles partially invalid input', () => {
expect(() => toRna('ACGTXXXCTTAA')).toThrow(new Error('Invalid input DNA.'));
});
});
答案 0 :(得分:0)
您的代码似乎可以正常工作。
运行console.log(toRna(“ U”))时,确实会引发错误!
Error: Invalid input DNA.
at toRna (/home/ashvitha/Desktop/dna.js:14:13)
at Object.<anonymous> (/home/ashvitha/Desktop/dna.js:21:13)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
出问题了,您的期望似乎正在失败。不知道这是否是一个任务,但是您应该查看代码的那一部分,看看它出了什么问题!
希望这会有所帮助:)
答案 1 :(得分:0)
请确保在函数的第一行添加export
,并在代码末尾删除console.log
部分。
export const toRna = function(dna) {
const parseDna = dna.split("");
let rna = "";
for (let i = 0; i < parseDna.length; i++) {
if (parseDna[i] === "G") {
rna += "C";
} else if (parseDna[i] === "C") {
rna += "G";
} else if (parseDna[i] === "T") {
rna += "A";
} else if (parseDna[i] === "A") {
rna += "U";
} else {
throw new Error("Invalid input DNA.");
// This part doesn't work for some reason.
}
}
return rna;
};
// console.log(toRna("U"));