Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 模拟字符串的长度_Javascript_Knockout.js_Jasmine - Fatal编程技术网

Javascript 模拟字符串的长度

Javascript 模拟字符串的长度,javascript,knockout.js,jasmine,Javascript,Knockout.js,Jasmine,我正在尝试(用Jasmine)验证一个最大长度为1000个字符的描述字段(这是一个可观察到的敲除字段); 我通常做的是expect(model.description().length).toBe(1000) 来证明我的绳子的长度符合要求。 有没有什么方法可以模拟它而不需要实际编写1000个字符长的字符串?如果您打算模拟对象,只想使用length属性,而不想使用@GOTO-0提到的其他属性,那么您可以创建一个具有该属性集的对象,如下所示:{length:1000} 然而,仅仅创建一个如此长度的字

我正在尝试(用Jasmine)验证一个最大长度为1000个字符的描述字段(这是一个可观察到的敲除字段); 我通常做的是
expect(model.description().length).toBe(1000)
来证明我的绳子的长度符合要求。

有没有什么方法可以模拟它而不需要实际编写1000个字符长的字符串?

如果您打算模拟对象,只想使用
length
属性,而不想使用@GOTO-0提到的其他属性,那么您可以创建一个具有该属性集的对象,如下所示:
{length:1000}


然而,仅仅创建一个如此长度的字符串似乎更容易。这可能会有帮助,就像某些代码更改需要在其他地方使用实际字符串一样,测试仍然有效,而不必开始模拟字符串的其他方法和属性。有关如何做到最好的讨论,请参见此问题:

您可以使用
数组(1001)。如果没有其他方法,请加入(“a”)
谢谢,然后我将使用它:)检查仅为通过测试而生成的字符串的长度的目的是什么?您可以使用monkey patch
model.description
并在其中放置一个具有可设置的
length
属性的可观察对象的模拟。但这对我来说像是一个XY问题:-)在这种情况下,类似于
”.重复(1000)
就可以了,或者如果您只对长度属性感兴趣,甚至只需
{length:1000}