chriskrycho, to random
@chriskrycho@mastodon.social avatar

The slides and script for my second #lambdaconf2024 talk are up—this one on how we make good software. If that sounds like a massive question: yes.

The talk ranges from #DDD and #TDD and #typetheory to #systemsthinking and sociology and ethics—as it must!

https://v5.chriskrycho.com/elsewhere/seeing-like-a-programmer/

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

🔮 We’re doing a in the FUTURE today with Chris Simon. (Actually, he’s just in Australia, but he’s a full day ahead!)

👨‍🏫 He’ll teach us about , , and . Please come hang out in the chat. It's always so lively and fun.

👍 Boosts appreciated.

https://www.youtube.com/watch?v=gXz7gKtRVpM

khalidabuhakmeh, to CSharp
@khalidabuhakmeh@mastodon.social avatar

I’m hosting Chris Simon on a #JetBrains #livestream to discuss #TDD, #DDD, and #csharp. Not to be confused with D&D, which is about wizards, dragons, and dungeon masters… wait it's pretty similar.

#dotnet

https://www.youtube.com/live/gXz7gKtRVpM?si=Uc_kn-GzdEIvSR_p

xunit, to dotnet
@xunit@dotnet.social avatar

We just shipped v2 Core Framework 2.8.0, Analyzers 1.13.0, and Visual Studio adapter 2.8.0. The primary purpose of this release is a new parallelism algorithm that should make test timing more reliable, and make thread deadlocks in your tests less likely.

Read all about the new algorithm here: https://xunit.net/docs/running-tests-in-parallel#algorithms

Enjoy!

Release notes:

https://xunit.net/releases/v2/2.8.0
https://xunit.net/releases/analyzers/1.13.0
https://xunit.net/releases/visualstudio/2.8.0

Tallish_Tom, to random
@Tallish_Tom@fosstodon.org avatar

Asking any developers doiing #TDD with "classic" #Xunit approach and using an #ApprovalTest approach.

Do you find the different approaches affect your low-level design?

@emilybache

matadan, (edited ) to random
@matadan@mastodon.social avatar

One top misconception about #TDD is that you should refactor the tests as you go. This means that you can delete some too. It’s like building an arch and then knocking out the supporting structure. The supports helped along the way but are no longer needed. It’s not true that “the best code is the code that was never written”. It is true that the best code modification is to delete it. Tests ensure that nothing unexpected happens once you have deleted that code.
#programming

matadan, (edited ) to random
@matadan@mastodon.social avatar

There are some really great coders who don’t get and that’s OK but I wish they would not use that misunderstanding to just proclaim that it is useless. On the other hand we need to find a way to prove the usefulness without just saying that “you are holding it wrong”.

jitterted, to random
@jitterted@sfba.social avatar

On today's solo stream, I was doing my #TDD as usual, and, because I use Predictive Test-Driven Development (see https://ted.dev/articles/2021/03/05/clarifying-the-goal-of-behavior-change/), I was able to avoid writing code that wouldn't get the test to pass.

Why? Because 3 separate times, I predicted how the test should fail, and it failed differently! They failed in the unexpected way because I had either written the test setup incorrectly, or misunderstood a library method¹.

Had I just looked out for a failing test, I would have started writing code to make it pass, and been disappointed that it didn't pass when I was done.

--
¹ Turns out Java's String.indent(4) normalizes line endings, meaning it will add a line ending to the last line, even if it didn't have one before! Surprise!

bradwilson,
@bradwilson@mastodon.social avatar

@jitterted I have always thought the circle diagram for #TDD sent the wrong message to new practitioners. Refactoring should always start and end in green. If you refactor and things go red you’ve done something else other than refactoring.

xunit, to dotnet
@xunit@dotnet.social avatar

We just shipped v2 Core Framework 2.7.1, Analyzers 1.12.0, and Visual Studio adapter 2.5.8. This includes a few new assertion overloads, four new analyzers (and two new suppressors), and a handful of bug fixes.

Enjoy!

Release notes:

https://xunit.net/releases/v2/2.7.1
https://xunit.net/releases/analyzers/1.12.0
https://xunit.net/releases/visualstudio/2.5.8

maartenballiauw, to CSharp
@maartenballiauw@mastodon.online avatar
dominucco, to rails
@dominucco@mastodon.social avatar

RSpec is great, but I have a soft spot for #MiniTest. And let's be honest, it's a really great and valid choice for #Rails #tdd What do you think?

https://dominickm.com/1658-2/

jitterted, to random
@jitterted@sfba.social avatar

Hey Game fans!

If you were thinking of ordering your own copy of JitterTed's TDD Game, I recommend ordering soon, as I'm running low on inventory (and won't get more for another month or so).

Get your copy (or multiple copies—saves on shipping) today at https://tdd.cards

danielsiepmann, to programming

Today I could start #programming for a new project. I applied the learnings from @matthiasnoback workshop regarding #software architecture.

And well … It works good so far. And so many more things now make sense and work, e.g. TDD. I thought TDD doesn't make sense, except for some cases. But now with a different point of view to how to create and structure software … it now works. I could develop the current project fully #TDD.

I can highly recommend his workshops :)

nekohayo, to GNOME
@nekohayo@mastodon.social avatar

I hate . I hate it so much. The week where changes occur lets me find the weirdest of higgs-bugson and mandelbugs in while doing .

At least the majority of those issues have already been durably fixed for 46 by @danigm's fantastic (unit-tests-backed) bufixes 😌

Today's new discovery: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1198

GNOME Calendar's week view, showing a bug where dragging and dropping events in the hourly timetable to reschedule them will cause them to be offset by one hour from the intended position, during the week where DST changes occur.

qcoding, to SwiftUI
@qcoding@iosdev.space avatar

I'm taking a small break from live coding, so there will be no stream this Sunday.
But do return on Sunday, March 10. We'll start writing a game using #SwiftUI! What does test-driven development (#TDD) look like in a SwiftUI world?
The chat is lively: you can ask questions and help answer mine. Follow me on Twitch for the go-live notification. https://www.twitch.tv/qcoding

fabian, (edited ) to python
@fabian@floss.social avatar

Phew, the second (maybe third) pretty big stand-alone #Python library (first was a script rather) that I wrote at my job within the last 12 months. (Not that common anymore.)

Each took roughly 1 month until v1. Each 1k+ lines of code. This time very #TDD style (the script not so much, because it was a one-off — well, two-off ;)

  • code: 600 lines
  • tests: 800 lines
  • docs: 150 lines (should be 300+)

😓

#programming #softwareDevelopment

shuttle, to random
@shuttle@mastodon.online avatar

How do you approach testing in Rust to ensure code quality?

janriemer,

@shuttle I consequently use , where possible.

Yes, sure, prevents a lot of bugs at compile time already, but not logic bugs.

For example in we have ~70 unit tests and ~12 integration tests. The only "bug report" we have ever gotten was due to a corrupted CSV file (being mistaken with a bug in diff):

See here (qsv):
https://github.com/jqnatividad/qsv/issues/1258#issuecomment-1712924932

csv-diff:
https://gitlab.com/janriemer/csv-diff

In the future I'd like to add property and mutation testing as well 🤓

emilybache, to random
@emilybache@sw-development-is.social avatar

Unit tests are supposed to help you to find bugs. In some situations you need a Test Double, or a Mock object in your test. That can make it harder! Take a look at the Guided Learning Hour that I just published. https://youtu.be/OuRtBe07T9A #softwaredevelopment #tdd

jhall, to golang
@jhall@techhub.social avatar

"Wow, I've never seen anyone use TDD on a real project."

An actual quote from a previous veiwer. Sound like you? Come watch me use TDD as I'm adding some new capabilities to an open-source library.

#go #golang #tdd #livestream #livecoding

https://youtube.com/live/z530uVzmNc8

jitterted, to Java
@jitterted@sfba.social avatar

On today's Solo stream, I'll be working on the and WebSocket portion of my Ensemble Rotation Timer.

Join me in about 25 minutes (11:30am PST | 7:30pm UTC) on Twitch: https://jitterted.stream

jitterted,
@jitterted@sfba.social avatar

Once again, and meant that when I hooked up the "real" timer broadcaster (using WebSockets), everything just worked.

Only took 35 lines of WebSocket code and 10 lines of configuration code and a few attributes on the HTML page. (Not counting the separate transformer code that generated the HTML.)

schizanon, to programming
@schizanon@mas.to avatar

"write tests first" is the "eat more vegetables" of programming

#programming #testing #software #development #softwaredevelopment #webdev #dev #tdd #testDrivenDevelopment

kevinrutherford, to random
@kevinrutherford@mastodon.me.uk avatar

It's the second week of the month, and that means only one (important) thing: XP Manchester!

This monthly lean coffee discussion of all things eXtreme Programming is online, so you can attend from anywhere!

Thursday 8th February, 0730 for a 0745 start, finishing around 0845. Joining details: https://www.meetup.com/xp-manchester/.

Come along and meet the other 17 people who have already signed up to attend...

jbrains, to random
@jbrains@mastodon.social avatar

Trying to do something like #TDD with #jq

I'm using Golden Master technique and I've committed the expected output to git.

This is "assert all remains well" while refactoring:

git diff --exit-code --quiet Testing/; if (( $? )) then; echo "FAIL"; else; echo "OK"; fi

  • All
  • Subscribed
  • Moderated
  • Favorites
  • normalnudes
  • mdbf
  • ngwrru68w68
  • thenastyranch
  • magazineikmin
  • hgfsjryuu7
  • DreamBathrooms
  • Youngstown
  • slotface
  • ethstaker
  • PowerRangers
  • everett
  • kavyap
  • rosin
  • anitta
  • vwfavf
  • osvaldo12
  • InstantRegret
  • cisconetworking
  • tacticalgear
  • cubers
  • khanakhh
  • Durango
  • GTA5RPClips
  • Leos
  • tester
  • modclub
  • provamag3
  • All magazines