GeistHaus
log in · sign up

Why Ginkgo?

onsi.github.io
17 pages link to this URL
Lang Compare

Compare programming language syntax side-by-side. See how JavaScript, TypeScript, Python, Go, and Rust handle variables, types, functions, loops, and more.

GopherJS Integration Tests

Recently I found myself wondering how I was going to test my new GopherJS gRPC-Web bindings. Writing tests was something I had been waiting with until I had something working, mostly because I had no idea how I was going to meaningfully test GopherJS code that relies on interactions with JS and the reponses of a server. I have in the past made a small contribution to the GopherJS websocket repo, and found myself impressed with the extensive tests written for the repo.

0 inbound links article en post gogopherjstestingagoutiginkgoqunit
gomega

Gomega is the Ginkgo BDD-style testing framework's preferred matcher library.

ginkgo

Ginkgo is a testing framework for Go designed to help you write expressive tests.

Ragel: state machine compiler

Really fast way to build really fast parser with Golang.

0 inbound links article en post GolanggRPCProtobufEnvoyProtocol buffersBazelProtocolsK8sKubernetesKuberSoftwareekhabarov.comGeneratorsBuildDevelopmentEngineeringProgrammingEnvoy proxyAuthenticationAuthorizationauthnauthzgo buildPersonal blogRagelProxykubectlCLIRESTRESTfulAPITiltFunDataSpotify tuiSyslog
How I improved consistency and performance in a Go crawler with retry logics and network tuning

Introduction wfind is a simple web crawler for files and folders in web pages hyerarchies. The goal is basically the same of GNU find for file systems. At the same time it’s inspired by GNU wget, and it merges the find features applied to files and directories exposed as HTML web resources. In this blog we’ll go through the way I improved consistency in this crawler, by implementing retry logics and tuning network and transport in the HTTP client.

0 inbound links article en posts goperformanceconsistencyoptimization
Flow Your Tests Like Your Code

My co-worker Belinda Liu turned to me and said, “I don’t like these tests at all; they’re hard to follow, and I’m not sure what they’re testing.” I looked at the tests that I had spent much of yesterday afternoon working on. She was right: they were hard to follow (even for me, who had written some of them!). How had we gotten here? Our code was straightforward, but our tests were byzantine (excessively complicated). We identified two problems:

0 inbound links article en post
Mastering Golang Debugging in Emacs - blog.dornea.nu

Introduction # Since I’ve started developing in Golang I didn’t really use the debugger. Instead I was naively adding fmt.Print statements everywhere to validate my code 🙈. While print statements and logs might be also your first debugging instinct, they often fall short when dealing with large and complex code base, with sophisticated runtime behaviour and (of course!) complex concurrency issues that seem impossible to reproduce. After starting working on more complex projects Like this one: https://github.

1 inbound link article en