diff --git a/spec/mock_jasmine.ts b/spec/mock_jasmine.ts
index 670e76f69a38bc7390b1c8d8d1ffe9701df48618..134851d5b0d9379cf18827c8a3728af29e8315ab 100644
--- a/spec/mock_jasmine.ts
+++ b/spec/mock_jasmine.ts
@@ -31,56 +31,55 @@ export function it(sTxt: string, fFun: () => void) {
 }
 
 /**
- * Mock expect et toBeCloseTo de Jasmine.
- * Ne fonctionne pas à cause de this = undefined dans le contexte "use strict"
+ * Classe contenant les méthodes de comparaison de Jasmine.
  */
-export function expect(obj: object) {
-    this.testResult = obj;
+class Expect {
 
-    this.toBeCloseTo = function(expected: number, precision: number) {
+    /**
+     * Mock la function expect de Jasmine
+     * @param actual Objet à tester
+     */
+    public constructor(private actual: any) {
+    }
+
+    /**
+     * Mock de la function chainée à expect de test d'une valeur à un epsilon près
+     * @param expected Valeur numérique attendue
+     * @param precision Précision attendue (nombre de chiffre après la virgule)
+     */
+    public toBeCloseTo(expected: number, precision: number) {
         const pow = Math.pow(10, precision + 1);
-        const delta = Math.abs(expected - this.testResult);
+        const delta = Math.abs(expected - this.actual);
         const maxDelta = Math.pow(10, -precision) / 2;
         if (Math.round(delta * pow) / pow > maxDelta) {
             // tslint:disable-next-line:no-console
-            console.error("Expected " + this.testResult + " to be close to " + expected + "," + precision);
+            console.error("Expected " + this.actual + " to be close to " + expected + "," + precision);
         }
         return this;
-    };
-    return this;
-}
+    }
 
-/**
- * Mock de la function chainée à expect de test d'une valeur à un epsilon près
- * @param actual Valeur numérique sortie du test
- * @param expected Valeur numérique attendue
- * @param precision Précision attendue (nombre de chiffre après la virgule)
- */
-export function toBeCloseTo(actual: number, expected: number, precision: number) {
-    const pow = Math.pow(10, precision + 1);
-    const delta = Math.abs(expected - actual);
-    const maxDelta = Math.pow(10, -precision) / 2;
-    if (Math.round(delta * pow) / pow > maxDelta) {
-        // tslint:disable-next-line:no-console
-        console.error("Expected " + actual + " to be close to " + expected + "," + precision);
+    /**
+     * Mock de la fonction toBe de Jasmine : the actual value to be `===` to the expected value
+     * @param expected Objet de référence
+     */
+    public toBe(expected: any) {
+        return this.actual === expected;
+    }
+
+    /**
+     * Mock de la fonction toBe de Jasmine : the actual value to be `===` to the expected value
+     * @param expected Objet de référence
+     */
+    public toEqual(expected: any) {
+        return this.actual === expected;
     }
-    return this;
-}
 
-/**
- * Mock de la fonction toBe de Jasmine : the actual value to be `===` to the expected value
- * @param actual Objet à tester
- * @param expected Objet de référence
- */
-export function toBe(actual: any, expected: any) {
-    return actual === expected;
 }
 
 /**
- * Mock de la fonction toBe de Jasmine : the actual value to be `===` to the expected value
+ * Mock la function expect de Jasmine
  * @param actual Objet à tester
- * @param expected Objet de référence
  */
-export function toEqual(actual: any, expected: any) {
-    return actual === expected;
+export function expect(expected: any) {
+    return new Expect(expected);
 }
diff --git a/spec/structure/test_rectangular_structure.ts b/spec/structure/test_rectangular_structure.ts
index 603fd06240d11313a8b55354b85167a37c5cb3e0..9b7b60bd9560aeda382722cfcfc2660129bff53b 100644
--- a/spec/structure/test_rectangular_structure.ts
+++ b/spec/structure/test_rectangular_structure.ts
@@ -1,7 +1,7 @@
 import { Result } from "../../src/base";
 import { RectangularStructure } from "../../src/structure/rectangular_structure";
 import { StructureFlowMode, StructureFlowRegime } from "../../src/structure/structure";
-import { it, toBe, toBeCloseTo } from "../mock_jasmine";
+import { expect, it } from "../mock_jasmine";
 import { precDigits } from "../nubtest";
 import { Describer } from "./rectangular_structure";
 
@@ -18,16 +18,16 @@ export function itCalcQ(
 
     it("Q(h1=" + h1 + ",W=" + W + ") should be " + Q, () => {
         struct.debug("struct.Calc(Q)=" + res.vCalc);
-        toBeCloseTo(res.vCalc, Q, precDigits);
+        expect(res.vCalc).toBeCloseTo(Q, precDigits);
     });
     if (mode !== undefined) {
         it("Q(h1=" + h1 + ",W=" + W + ") Mode should be " + mode, () => {
-            toBe(res.extraVar.Mode, mode);
+            expect(res.extraVar.Mode).toBe(mode);
        });
     }
     if (regime !== undefined) {
         it("Q(h1=" + h1 + ",W=" + W + ") Regime should be " + regime, () => {
-            toBe(res.extraVar.Regime, regime);
+            expect(res.extraVar.Regime).toBe(regime);
         });
     }
 }