{"id":"https://openalex.org/W2000651459","doi":"https://doi.org/10.1145/1028664.1028765","title":"Mock roles, not objects","display_name":"Mock roles, not objects","publication_year":2004,"publication_date":"2004-10-23","ids":{"openalex":"https://openalex.org/W2000651459","doi":"https://doi.org/10.1145/1028664.1028765","mag":"2000651459"},"language":"en","primary_location":{"id":"doi:10.1145/1028664.1028765","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028664.1028765","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5063869079","display_name":"Steve Freeman","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Steve Freeman","raw_affiliation_strings":["ThoughtWorks UK, High Holborn, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ThoughtWorks UK, High Holborn, London","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002904984","display_name":"Tim Mackinnon","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Tim Mackinnon","raw_affiliation_strings":["ThoughtWorks UK, High Holborn, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ThoughtWorks UK, High Holborn, London","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062049320","display_name":"Nat Pryce","orcid":"https://orcid.org/0000-0003-4899-7455"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Nat Pryce","raw_affiliation_strings":["ThoughtWorks UK, High Holborn, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ThoughtWorks UK, High Holborn, London","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5029629351","display_name":"Joe Walnes","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Joe Walnes","raw_affiliation_strings":["ThoughtWorks UK, High Holborn, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"ThoughtWorks UK, High Holborn, London","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":11.3074,"has_fulltext":false,"cited_by_count":92,"citation_normalized_percentile":{"value":0.97831013,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"236","last_page":"246"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7537448406219482},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6819342374801636},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.6081989407539368},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.5670443177223206},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5359483957290649},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5212814807891846},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.48447084426879883},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4721534252166748},{"id":"https://openalex.org/keywords/base","display_name":"Base (topology)","score":0.4595685303211212},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.4262070655822754},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.18854406476020813},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.09848037362098694}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7537448406219482},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6819342374801636},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.6081989407539368},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5670443177223206},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5359483957290649},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5212814807891846},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.48447084426879883},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4721534252166748},{"id":"https://openalex.org/C42058472","wikidata":"https://www.wikidata.org/wiki/Q810214","display_name":"Base (topology)","level":2,"score":0.4595685303211212},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4262070655822754},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18854406476020813},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.09848037362098694},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1028664.1028765","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028664.1028765","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.100.2927","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.2927","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.jmock.org/oopsla2004.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.92.2637","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.92.2637","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.mockobjects.com/files/mockrolesnotobjects.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/16","score":0.7599999904632568,"display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":15,"referenced_works":["https://openalex.org/W1488077794","https://openalex.org/W1499546067","https://openalex.org/W1537775647","https://openalex.org/W1607519102","https://openalex.org/W2026049208","https://openalex.org/W2029414465","https://openalex.org/W2050645799","https://openalex.org/W2067236069","https://openalex.org/W2082340512","https://openalex.org/W2120787570","https://openalex.org/W2131890917","https://openalex.org/W2153887189","https://openalex.org/W3161432625","https://openalex.org/W4254691308","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2075768550","https://openalex.org/W3022218857","https://openalex.org/W2369178846","https://openalex.org/W2370289839","https://openalex.org/W2082716031","https://openalex.org/W2933494595","https://openalex.org/W4313347705","https://openalex.org/W1568049691","https://openalex.org/W1590096425","https://openalex.org/W2890485617"],"abstract_inverted_index":{"Mock":[0,54],"Objects":[1,55],"is":[2,44],"an":[3,57],"extension":[4],"to":[5,30],"Test-Driven":[6],"Development":[7],"that":[8,80],"supports":[9],"good":[10],"Object-Oriented":[11],"design":[12],"by":[13],"guiding":[14],"the":[15,50,71],"discovery":[16],"of":[17,21,52,69],"a":[18,24,35,77],"coherent":[19],"system":[20],"types":[22],"within":[23],"code":[25],"base.":[26],"It":[27,73],"turns":[28],"out":[29],"be":[31],"less":[32],"interesting":[33],"as":[34],"technique":[36],"for":[37],"isolating":[38],"tests":[39],"from":[40,67],"third-party":[41],"libraries":[42],"than":[43],"widely":[45],"thought.":[46],"This":[47],"paper":[48],"describes":[49],"process":[51],"using":[53],"with":[56],"extended":[58],"example":[59],"and":[60,63],"reports":[61],"best":[62],"worst":[64],"practices":[65],"gained":[66],"experience":[68],"applying":[70],"process.":[72],"also":[74],"introduces":[75],"jMock,":[76],"Java":[78],"framework":[79],"embodies":[81],"our":[82],"collective":[83],"experience.":[84]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":6},{"year":2016,"cited_by_count":8},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":7},{"year":2012,"cited_by_count":11}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
