Gibt es eine Möglichkeit, eine JavaScript-gebundene Funktion zu überprüfen?So überprüfen Sie eine JavaScript-gebundene Funktion
Ich möchte eine gebundene Funktion aus einer Funktion zurückgeben und in Unit-Tests das Ziel der gebundenen Funktion, boundThis und boundArgs geltend machen. Sie scheinen in ECMAScript als internes Objekt definiert zu sein und können im Programm nicht aufgerufen werden.
Gibt es eine Möglichkeit, auf sie zuzugreifen? oder vielleicht haben einige Leute mit ähnlichen Anforderungen bereits ein Modul-Patching Function.prototype.bind() geschrieben?
FWIW ... in Komponententests, die Sie normalerweise testen möchten * was ein Stück Code macht * nicht * wie * es macht. Das "Was" ist der Test, das "Wie" ist die Umsetzung. Dies scheint die falsche Sache zu sein, auf die man sich bei einem Komponententest konzentriert. – deceze
Siehe http://stackoverflow.com/questions/26545549/chaining-bind-calls-in-javascript-unexpected-result/26547029#26547029. Das 'this', das verwendet wird, wenn eine gebundene Funktion aufgerufen wird, ist keine versteckte Eigenschaft der Funktion. Es ist Teil der Logik, die zum Umbrechen der ursprünglichen Funktion zum Erstellen der gebundenen Funktion verwendet wird. Sie können das genauso wenig inspizieren, wie Sie eine lokale Variable in einer Funktion oder einer anderen Logik innerhalb einer Funktion untersuchen könnten, und wie @Bergi zu Recht darauf hinweist, wollen und müssen Sie nicht. –