由于某些原因,我在这个练习中遇到了问题。我已经尝试了各种迭代,但在这个测试中仍然失败:
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.'));
});
});
发布于 2018-11-03 05:18:33
您的代码似乎工作得很好。
当您运行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出问题的是你的期望似乎要落空了。不确定这是否是一个赋值,但是你应该检查你的代码的那一部分,看看哪里出了问题!
希望这能有所帮助:)
发布于 2018-11-07 00:18:35
确保在函数前面的第一行添加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"));https://stackoverflow.com/questions/53125830
复制相似问题