html 使用深度冻结来测试状态是否发生变异

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html 使用深度冻结来测试状态是否发生变异相关的知识,希望对你有一定的参考价值。

const addCounter = (list) => {
  return [...list,0];
};

const removeCounter = (list, index) => {
  return [
    ...list.slice(0, index),
    ...list.slice(index + 1)
  ];
  
};

const incrementCounter = (list, index) => {
//   return list
//   .slice(0,index)
//   .concat(list[index]+1) 
//   .concat(list.slice(index+1));
     return[
       ...list.slice(0,index),
       list[index]+1,
       ...list.slice(index+1)
     ]  ;
  
};

const testAddCounter = () => {
   const listBefore = [];
   const listAfter = [0];
  
  deepFreeze(listBefore);
  
   expect(
     addCounter(listBefore)
   ).toEqual(listAfter);
  
};

const testRemoveCounter = () => {
  const listBefore = [0, 10, 20];
  const listAfter = [0, 20];
  
  deepFreeze(listBefore);

  expect(
    removeCounter(listBefore, 1) 
  ).toEqual(listAfter);
};

const testIncrementCounter = () => {
  const listBefore = [0, 10, 20];
  const listAfter = [0, 11, 20];
  
  deepFreeze(listBefore);
  
  expect(
    incrementCounter(listBefore, 1)
  ).toEqual(listAfter);
};

testAddCounter();
testRemoveCounter();
testIncrementCounter();
console.log('All tests passed');
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Avoiding mutations</title>
  <script src="https://wzrd.in/standalone/expect@latest"></script>
  <script src="https://wzrd.in/standalone/deep-freeze@latest"></script>
</head>
<body>

  
</body>
</html>

以上是关于html 使用深度冻结来测试状态是否发生变异的主要内容,如果未能解决你的问题,请参考以下文章

变异测试变异算子构思路

单元测试心跳功能

测试人员如何判断是否增加测试设计的深度?

NSArraym 在枚举时发生了变异,sqlite3 while 循环?

django 测试中的模拟时间问题:使用 freezegun 似乎没有冻结时间

集合 <__NSCFString:> 在被枚举崩溃时发生了变异