testify icon indicating copy to clipboard operation
testify copied to clipboard

Please export diff() function

Open guettli opened this issue 9 months ago • 0 comments

It would be great if you could export the diff() function. Then it would be easier to create custom error messages.

Example, I would like to avoid the two long string (expected and actual). The diff is enough for my use-case.

        	Error:      	Not equal: 
        	            	expected: "metadata:\n  creationTimestamp: null\nspec:\n  clusterNetwork:\n    pods:\n      cidrBlocks:\n      - 192.168.0.0/16\n    serviceDomain: cluster.local\n    services:\n      cidrBlocks:\n      - 10.128.0.0/12\n  controlPlaneEndpoint:\n    host: \"\"\n    port: 0\n  topology:\n    class: hetzner-apalla-1-99-v10\n    controlPlane:\n      metadata: {}\n      replicas: 3\n    variables:\n    - name: region\n      value: fsn1\n    - name: controlPlaneMachineTypeHcloud\n      value: cpx31\n    version: v1.99.123\n    workers:\n      machineDeployments:\n      - class: workeramd64hcloud\n        failureDomain: fsn1\n        metadata: {}\n        name: my-cloud-workers\n        replicas: 1\n        variables:\n          overrides:\n          - name: workerMachineTypeHcloud\n            value: cpx31\n      - class: workerarm64hcloud\n        failureDomain: fsn1\n        metadata: {}\n        name: my-arm-workers\n        variables:\n          overrides:\n          - name: workerMachineTypeHcloud\n            value: cax31\n      - class: workeramd64baremetal\n        failureDomain: fsn1\n        metadata: {}\n        name: my-baremetal-workers\n        replicas: 1\n        variables:\n          overrides:\n          - name: workerMachineTypeHcloud\n            value: cpx31\n          - name: workerHostSelectorBareMetal\n            value:\n              matchLabels:\n                key: value\nstatus:\n  controlPlaneReady: false\n  infrastructureReady: false\n"
        	            	actual  : "metadata:\n  creationTimestamp: null\nspec:\n  clusterNetwork:\n    pods:\n      cidrBlocks:\n      - 192.168.0.0/16\n    serviceDomain: cluster.local\n    services:\n      cidrBlocks:\n      - 10.128.0.0/12\n  controlPlaneEndpoint:\n    host: \"\"\n    port: 0\n  topology:\n    class: hetzner-apalla-1-99-v10\n    controlPlane:\n      metadata: {}\n      replicas: 3\n    variables:\n    - name: region\n      value: fsn1\n    - name: controlPlaneMachineTypeHcloud\n      value: cpx31\n    - name: clusterLoadBalancerName\n      value: existing-lb\n    version: v1.99.123\n    workers:\n      machineDeployments:\n      - class: workeramd64hcloud\n        failureDomain: fsn1\n        metadata: {}\n        name: my-cloud-workers\n        replicas: 1\n        variables:\n          overrides:\n          - name: workerMachineTypeHcloud\n            value: cpx31\n      - class: workerarm64hcloud\n        failureDomain: fsn1\n        metadata: {}\n        name: my-arm-workers\n        variables:\n          overrides:\n          - name: workerMachineTypeHcloud\n            value: cax31\n      - class: workeramd64baremetal\n        failureDomain: fsn1\n        metadata: {}\n        name: my-baremetal-workers\n        replicas: 1\n        variables:\n          overrides:\n          - name: workerMachineTypeHcloud\n            value: cpx31\n          - name: workerHostSelectorBareMetal\n            value:\n              matchLabels:\n                key: value\nstatus:\n  controlPlaneReady: false\n  infrastructureReady: false\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -24,2 +24,4 @@
        	            	       value: cpx31
        	            	+    - name: clusterLoadBalancerName
        	            	+      value: existing-lb
        	            	     version: v1.99.123

guettli avatar Jan 27 '25 13:01 guettli