Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS单元测试,为什么它有用?_Javascript_Angularjs_Unit Testing - Fatal编程技术网

Javascript AngularJS单元测试,为什么它有用?

Javascript AngularJS单元测试,为什么它有用?,javascript,angularjs,unit-testing,Javascript,Angularjs,Unit Testing,我正在学习AngularJS,AngularJS文档的每一页都提到了“单元测试” 问题是,我不能真正理解什么是单元测试。看起来确实没有必要,但可能没有 有人能解释一下为什么花时间编写单元测试是有用的吗? 我怎样才能从中受益呢?假设您有一个项目。在您的项目中,某些功能需要发挥作用。传统上人们测试它们。然而,问题是,无论何时更改代码中的某些内容,都可能会破坏某些内容。因此,在每次代码更改之后,您需要一次又一次地测试所有内容。现在,这可能会很麻烦。如果您必须在每次更改后执行10个测试,那么,仅在10次

我正在学习AngularJS,AngularJS文档的每一页都提到了“单元测试”

问题是,我不能真正理解什么是单元测试。看起来确实没有必要,但可能没有

有人能解释一下为什么花时间编写单元测试是有用的吗?
我怎样才能从中受益呢?

假设您有一个项目。在您的项目中,某些功能需要发挥作用。传统上人们测试它们。然而,问题是,无论何时更改代码中的某些内容,都可能会破坏某些内容。因此,在每次代码更改之后,您需要一次又一次地测试所有内容。现在,这可能会很麻烦。如果您必须在每次更改后执行10个测试,那么,仅在10次更改后,您需要执行100个测试。这需要时间。时间就是金钱。因此,每当您可以定义自动测试时,您就可以定义单元测试来自动告诉您是否有问题,而不是每次都检查您的测试用例。手工测试和单元测试之间的区别就像是用笔和纸而不是计算器来计算所有东西之间的区别。有些测试无法自动化,但只要可以自动测试,您就需要为其定义单元测试。

作为一名web开发人员,您必须接受这样一个事实,即您不知道或无法控制人们将如何使用您的应用程序。一旦它开始流行,所有的赌注都输光了。单元测试告诉您所编写的代码是否真的在做您认为它在做的事情。这是必要的,因为应用程序越复杂,跟踪一切就越困难。一旦项目超过了6个月,或者超过了一个开发人员,那么当涉及到你所写的内容是否按预期方式使用时,所有的赌注都将落空。单元测试可以帮助您在应用程序启动前查明问题所在,并解决问题。您的测试通常编写一次,然后反复使用。事实上,您应该拥有比代码更多的测试行。看看Angular、Ember、主干、jQuery。它们都利用单元测试(数以千计!)来确保在修复bug时不会无意中杀死某些功能。任何超出变量声明和单个函数的应用程序都应该进行单元测试


花在编写单元测试上的时间永远不会被浪费。端2端测试也是如此。

单元测试是确保程序符合其规范的一种方法。 您可以描述每个单元,例如一个类及其方法。然后在测试中,你写下你期望他们做的事情。然后编写使测试通过的最小代码量

所以在这里你可以看到它帮助你规划你的发展

它还意味着如果你回到一段旧代码,一个函数或其他东西。您更改此代码以使其适用于您刚刚编写的内容,但这样做会破坏其中一个测试

在这里,它可以帮助您添加新的功能,而不会破坏现有的代码,因为它可以让您坚持以前制定的规则

在大型团队中,当您的代码与您可能从未见过的、由其他人编写的代码交互时,它变得更加有用。

有数以百万计的页面宣传测试的好处。从这里开始: