this post was submitted on 31 Mar 2025
533 points (100.0% liked)

Funny

8856 readers
1331 users here now

General rules:

Exceptions may be made at the discretion of the mods.

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 92 points 1 week ago* (last edited 1 week ago) (1 children)

Surprisingly, yes, I do. Cucumber is a testing tool ~~for ruby applications~~ for a whole lot of programming languages.

[–] Drewmeister 33 points 1 week ago (8 children)

Yeah, we use gherkin, which is a variety of cucumber. Programmers name things weird. Java is a coffee bean and C is just a letter; they've just gotten big enough that people recognize them now.

[–] [email protected] 12 points 1 week ago (2 children)

Java is also an island

(Sorry, small inside joke for German-speaking Java programmers)

[–] [email protected] 2 points 1 week ago

And slang for coffee, which is some old tech too IIRC

[–] [email protected] 1 points 1 week ago

Java for insels

[–] [email protected] 8 points 1 week ago

Gherkin is the syntax, Cucumber is a specific implementation.

[–] [email protected] 7 points 1 week ago (1 children)

C is just a letter

It's the successor to B, which was derived from BCPL ("Basic Combined Programming Language")

Incidentally, C++ is a reference to how integer values are iterated in C. And then C# is a pithy take on C++ wherein you've stacked two rows of plus signs on top of each other.

There's often some rhyme or reason to these names.

[–] [email protected] 1 points 1 week ago

I found this interesting, was there an A?

Proceeds to go look it up while still hoping for your knowledge

[–] [email protected] 4 points 1 week ago

Have always personally seen Gherkin being used with Cucumber, as I believe that they're two parts of the same whole, but I'm happy to be corrected if wrong :).

My understanding is that Gherkin is the syntax used to write the scenarios / acceptance criteria, whilst Cucumber is the tool that interprets said scenarios and executes them as automated tests.

[–] [email protected] 3 points 1 week ago

Java is an island

[–] [email protected] 3 points 1 week ago

There are only two hard things in Computer Science: cache invalidation and naming things

-- Phil Karlton

[–] [email protected] 2 points 1 week ago

I wonder what A and B looked like XD

load more comments (1 replies)
[–] [email protected] 30 points 1 week ago* (last edited 1 week ago) (2 children)

Eating, preparing, or inserting? The answer is yes.

[–] [email protected] 10 points 1 week ago

Careful, they might rule you out for being overqualified

[–] [email protected] 2 points 1 week ago

Demonstrate doing all three in the proper order. You get one cucumber.

[–] [email protected] 20 points 1 week ago (2 children)

It's a terrible time right now. I've applied for over 100 roles this year and only got 3 interviews. Interviews went well, but you never move on. Likely they had someone in mind for the position already.

I think I'm close to reaching out to one of those temp agencies and try to find a year contract somewhere with the hope I end up getting a permanent offer somewhere.

I have 10 years experience in operations and finished a BBA a year ago and it has not amounted in any new opportunities sadly.

[–] [email protected] 10 points 1 week ago

Just keep working on your cucumber. Things will come around.

[–] [email protected] 3 points 1 week ago (1 children)

Getting onto a short term contract sounds like a good next move.

[–] [email protected] 1 points 1 week ago

Something is better than nothing, but keep looking.

[–] [email protected] 15 points 1 week ago (8 children)

Yes, I actually do. It's a behavioral driven testing framework. I love the idea of it but hate working with it because everyone uses it improperly.

What the steps in a scenario should look like:

Given a user has a bank accout
And the account has a balance of $10
When the user attempts to withdraw $20
Then the transaction should fail

How everyone I've worked with uses it:

Given the system is setup
Given the user TESTUSER1
Given load TESTDATA1
When the user sends a request
    ACTION | AMOUNT
    WITHDRAW | 20.0
The the response should be 400
    STATUS | MESSAGE
    Failure | Not enough funds
[–] [email protected] 1 points 1 week ago (1 children)

Your (verbose and harder to understand) example reminds me of https://jbehave.org/reference/stable/story-syntax.html

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago)

On that same page is Gherkin which is what both examples are. (I may have gotten the syntax slightly wrong.) Cucumber uses Gherkin. I forget which is which exactly. Maybe Cucumber is the code that reads Gherkin and executes step definitions.

For whatever reason, people try to make a small number of extremely flexible step definitions which leads to scenarios that don't actually read as business requirements. (Which is the entire point in the first place.)

Given a user has a bank accout
And the account has a balance of $10
When the user attempts to withdraw $20
Then the transaction should fail
And the account should have a balance of $20

Given a user has a bank accout
And the account has a balance of $10
When the user attempts to withdraw $5
Then the transaction should succeed
And the account should have a balance of $5

Given a user has a bank accout
And the account has a balance of $10
When the user attempts to deposit $5
Then the transaction should succeed
And the account should have a balance of $15

Doing something like this is more elegant. The steps definitions would be

  • a user has a bank account performs setup tasks to load a test user into the system.
  • the account has a balance of X would either load the account with that much or just make an initial deposit.
  • the user attempts to withdraw X/the user attempts to deposit X would both perform those actions. If it's a web API they'd be HTTP requests.
  • then the transaction should X would check HTTP status code. You could make this two separate step definitions or have logic based on the word. Two separate step definitions is probably better.
  • the account should have a balance of X checks the balance in the account.
load more comments (7 replies)
[–] [email protected] 13 points 1 week ago (1 children)

Testing stuff with cucumber is really cool tbh

[–] [email protected] 2 points 1 week ago (1 children)

I disagree. I'm a full-stack engineer, and every time I interact with our QA test suite in cucumber, I break out in hives. I hate keeping the gherkin feature file up to date with the test code, why so much complexity?

[–] [email protected] 1 points 1 week ago (1 children)

Ah. Yeah to be fair I've only used it on personal projects. I've never had to use it at work. Maybe I'd change my tune after that experience

[–] [email protected] 2 points 1 week ago

Or maybe we just use it poorly. It doesn't help that we use perhaps my least favorite language for testing: Java. I've written tons of integration tests, but we just used Python and unittest with some plugins to make output nicer, and it was pleasant enough.

[–] [email protected] 11 points 1 week ago (1 children)

This is one of those things where if I was to say, "no, but I know celery", people would think I was being silly.

[–] [email protected] 1 points 1 week ago* (last edited 1 week ago)

Well yeah, cucumber is a Ruby/Java/etc testing framework and celery is a Python async task queue framework. Know what job you're applying for, silly.

😁

[–] [email protected] 11 points 1 week ago (1 children)

Do cucumbers have experience in you?

[–] Deathray5 8 points 1 week ago (1 children)

I assume that's what experience with cucumbers was

load more comments (1 replies)
[–] [email protected] 9 points 1 week ago

"I've had a few inside me, if you know what I mean."

"Ah, good. A salad lover."

[–] [email protected] 8 points 1 week ago* (last edited 1 week ago) (2 children)

That some new framework or something?

Edit: yeah, a testing tool.

[–] [email protected] 5 points 1 week ago* (last edited 1 week ago)

At the rate those things get spewed out, you can use pretty much any dictionary word and it'll be the name of some kind of software tool. Probably in javascript.

[–] [email protected] 5 points 1 week ago* (last edited 1 week ago) (1 children)

And here I thought the fact that it's spelled "Cucumber" and not "qcmbr" was the giveaway that it's a joke.

[–] [email protected] 2 points 1 week ago

Hey, i'm german. It's Gurke here.

[–] [email protected] 7 points 1 week ago
[–] [email protected] 6 points 1 week ago

required skill for certain onlyfans work

[–] [email protected] 5 points 1 week ago

Cucumber? I barely know her.

[–] [email protected] 5 points 1 week ago (1 children)
[–] [email protected] 4 points 1 week ago

"Oh" Drops cucumber

[–] [email protected] 4 points 1 week ago (2 children)

Fun fact!

Cucumbers taste better when taken in anally

[–] [email protected] 3 points 1 week ago

*end-to-end

[–] [email protected] 2 points 1 week ago

That's not what I meant when I said I had taste buds up the ass!

[–] [email protected] 2 points 1 week ago

Do you have experience in Word?

load more comments
view more: next ›